1,标准 URI 连接语法:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
* mongodb: 这是固定的格式,必须要指定。
* username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
* host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
* portX 可选的指定端口,如果不填,默认为27017
* /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开 test 数据库。
* ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开
示例:mongodb://127.0.0.1:27017/test?compressors=disabled&gssapiServiceName=mongodb
可参考菜鸟教程中关于MongoDB连接的更多信息:MongoDB连接
2,数据库操作
#查看所有数据库
show dbs
#创建或切换数据库
use dababasename
#删除数据库
use databasename
db.dropDatabase()
3, 集合/表操作
#查看所有集合
show collections/show tables
#创建集合
db.createCollection("user")
#删除集合
db.user.drop()
4, 字段增删改查
# 可新增一个或多个BSON数据,不能包含主键
db.col.insert()
# 新增或保存的save方法新版中已废弃, 可使用如下方法,有主键就是更新
db.col.insertOne()
db.col.replaceOne()
# 可新增多个BSON数据
db.col.insertMany()
# 更新,如更新count大于1的test2=ok
db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
# 删除
db.col.remove({'title':'MongoDB 教程'})
# 查询
db.col.find() db.col.findOne()
# 查询后格式化显示
db.col.find().pretty()
db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}) .pretty()
# 多条件 and...or...查询
db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]})
db.col.find({},{"title":1,_id:0}).limit(1).skip(1)
db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
#创建索引,语法中 Key 值为你要创建的索引字段,1按升序创建索引,-1为降序
db.col.createIndex({"title":1})
# 创建复合索引
db.col.createIndex({"title":1,"description":-1})
# 聚合处理数据
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
网友评论