MongoDB 的一些基础命令
扫码查看 原文链接 : https://blog.lmlphp.com/tutorial/4/mongodb/item/2/MongoDB_some_basic_commands 来自 : LMLPHP后院
创建数据库:
> use db_name
查看当前数据库:
> db
查看数据库状态:
> db.stats()
查看所有的数据库列表:
> show dbs
删除数据库:
> db.dropDatabase()
创建集合,options 可选:
> db.createCollection('collection_name', {options:''})
查看集合:
> show collections
删除集合:
> db.collection_name.drop()
插入文档:
> db.collection_name.insert({document_key:value})
查看文档:
> db.collection_name.find()
结构化显示文档,使用 pretty() 方法:
> db.collection_name.find().pretty()
只查看一个文档,使用 findOne() 方法返回一个文档:
> db.collection_name.findOne()
条件查询(相等):
> db.collection_name.find({"name":"lmlphp"})
条件查询(小于)
> db.collection_name.find({"amount":{$lt:100}})
同理:
- 小于等于 $lte
- 大于 $gt
- 大于等于 $gte
- 不等于 $ne
查询指定字段,显示 name 字段,不显示 _id 字段,如下示例:
> db.collection_name.find({},{name:1,_id:0})
逻辑与运算,AND 查询:
> db.collection_name.find({"name":"lmljs","author":"may"})
逻辑或运算,OR 查询:
> db.collection_name.find({ $or:[ {name:lmljs},{name:lblog} ] })
更新文档,使用 update 方法:
> db.collection_name.update({"name":"lmlphp"},{$set:{"name":"lmljs"}})
更新多个文档:
> db.collection_name.update({...},{$set:{...}},{multi:true})
save() 方法示例:
> db.collection_name.save({ "_id":ObjectId(....), "key":"value" })
删除文档:
> db.collection_name.remove({"key":"value"})
删除一个:
> db.collection_name.remove({"key":"value", 1})
删除所有:
> db.collection_name.remove()
skip() 和 limit() 的使用:
> db.collection_name.find().limit(1).skip(2)
sort() 排序:
> db.collection_name.find().sort({score:1})
ensureIndex() 建索引:
> db.collection_name.ensureIndex({"name":1})
aggregate() 聚合,如下示例相当于 group by name 字段,且计算数量:
> db.collection_name.aggregate( [{$group:{_id:"$name",count:{$sum:1}}}] )
aggregate() 聚合,条件过滤 $match 使用:
db.collection_name.aggregate( [{$match:{uid:98307}},{$group:{_id:"$name",count:{$sum:1}}}] );
创建超级用户:
use admin; db.createUser({user:"super",pwd:"lmlphp",roles:["root","userAdminAnyDatabase"]});
安全模式运行 :
$ ./mongod --fork --config mongod.conf mongod.conf security: authorization: enabled