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