MongoDB常用命令

2020-05-15  本文已影响0人  henryspace

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}}}])


上一篇 下一篇

猜你喜欢

热点阅读