LMLPHP后院

MongoDB 的一些基础命令

创建数据库:

0
> use db_name

查看当前数据库:

0
> db

查看数据库状态:

0
> db.stats()

查看所有的数据库列表:

0
> show dbs

删除数据库:

0
> db.dropDatabase()

创建集合,options 可选:

0
> db.createCollection('collection_name', {options:''})

查看集合:

0
> show collections

删除集合:

0
> db.collection_name.drop()

插入文档:

0
> db.collection_name.insert({document_key:value})

查看文档:

0
> db.collection_name.find()

结构化显示文档,使用 pretty() 方法:

0
> db.collection_name.find().pretty()

只查看一个文档,使用 findOne() 方法返回一个文档:

0
> db.collection_name.findOne()

条件查询(相等):

0
> db.collection_name.find({"name":"lmlphp"})

条件查询(小于)

0
> db.collection_name.find({"amount":{$lt:100}})

同理:

  • 小于等于 $lte
  • 大于 $gt
  • 大于等于 $gte
  • 不等于 $ne

查询指定字段,显示 name 字段,不显示 _id 字段,如下示例:

0
> db.collection_name.find({},{name:1,_id:0})

逻辑与运算,AND 查询:

0
> db.collection_name.find({"name":"lmljs","author":"may"})

逻辑或运算,OR 查询:

01234
> db.collection_name.find({ $or:[ {name:lmljs},{name:lblog} ]})

更新文档,使用 update 方法:

0
> db.collection_name.update({"name":"lmlphp"},{$set:{"name":"lmljs"}})

更新多个文档:

0
> db.collection_name.update({...},{$set:{...}},{multi:true})

save() 方法示例:

012
> db.collection_name.save({ "_id":ObjectId(....), "key":"value"})

删除文档:

0
> db.collection_name.remove({"key":"value"})

删除一个:

0
> db.collection_name.remove({"key":"value", 1})

删除所有:

0
> db.collection_name.remove()

skip() 和 limit() 的使用:

0
> db.collection_name.find().limit(1).skip(2)

sort() 排序:

0
> db.collection_name.find().sort({score:1})

ensureIndex() 建索引:

0
> db.collection_name.ensureIndex({"name":1})

aggregate() 聚合,如下示例相当于 group by name 字段,且计算数量:

012
> db.collection_name.aggregate( [{$group:{_id:"$name",count:{$sum:1}}}])

aggregate() 聚合,条件过滤 $match 使用:

012
db.collection_name.aggregate( [{$match:{uid:98307}},{$group:{_id:"$name",count:{$sum:1}}}]);

创建超级用户:

01
use admin;db.createUser({user:"super",pwd:"lmlphp",roles:["root","userAdminAnyDatabase"]});

安全模式运行 :

012345
$ ./mongod --fork --config mongod.confmongod.confsecurity: authorization: enabled
2025-05-13 05:40:46 1747086046 0.002553