mongodb命令汇总

MongoDB基本命令汇总

  1. find()/findOne()条件过滤
1
2
3
4
5
6
7
8
9
10
11
12
13
14
> use test;
switched to db test
> db.Student.find({name: 'tony'});
{ "_id" : ObjectId("58847521dd517a3b4e43c52d"), "name" : "tony", "sex" : 1, "age" : 13 }
{ "_id" : ObjectId("5884762cdd517a3b4e43c532"), "name" : "tony", "sex" : 1, "age" : 13 }
{ "_id" : ObjectId("5884762cdd517a3b4e43c537"), "name" : "tony", "sex" : 1, "age" : 13 }
> db.Student.findOne();
{
"_id" : ObjectId("588474b8dd517a3b4e43c524"),
"name" : "jack",
"sex" : 1,
"age" : 33
}
  1. find()/findOne()指定返回的fileds
1
2
3
4
5
6
7
> db.Student.find({name: 'tony'}, {'_id': 0, 'name': 1})
{ "name" : "tony" }
{ "name" : "tony" }
{ "name" : "tony" }
> db.Student.findOne({age: 13}, {'_id': 0, 'name': 1, 'sex': 1})
{ "name" : "lily", "sex" : 0 }
  1. 查询条件
符号 对应 作用
$lt \< 小余
$lte \<= 小于或等于
$gt > 大于
$gte \= 大于或等于
$ne \<> 不等于
$in in in范围
$not not not范围
$or or 或者
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
> db.Student.findOne({age: {$gte: 98}})
{
"_id" : ObjectId("58847521dd517a3b4e43c529"),
"name" : "nima",
"sex" : 1,
"age" : 98
}
> db.Student.findOne({age: {$ne: 98}})
{
"_id" : ObjectId("588474b8dd517a3b4e43c524"),
"name" : "jack",
"sex" : 1,
"age" : 33
}
> db.Student.find({$or: [{age: {$in: [12, 13]}}, {name: 'tony'}]}, {_id: 0})
{ "name" : "lily", "sex" : 0, "age" : 13 }
{ "name" : "hehh", "sex" : 0, "age" : 13 }
{ "name" : "tony", "sex" : 1, "age" : 13
  1. 特殊查询–null和exists

null可以匹配自身,而且可以匹配”不存在的”

1
2
3
4
5
> db.Student.find({name: null}, {_id: 0})
{ "name" : null, "sex" : 1, "age" : 18 }
{ "sex" : 1, "age" : 24 }
> db.Student.find({name:{$in:[null],$exists:true}}, {_id: 0})
{ "name" : null, "sex" : 1, "age" : 18 }

  1. 数组查询

造数据

1
2
3
db.Student.insert({name:"wjh",sex:1,age:18,color:["red","blue","black"]})
db.Student.insert({name:"lpj",sex:1,age:22,color:["white","blue","black"]})
db.Student.find()

1
2
3
4
5
6
7
8
> db.Student.find({color:"white"}, {_id: 0})
{ "name" : "lpj", "sex" : 1, "age" : 22, "color" : [ "white", "blue", "black" ] }
> db.Student.find({color:{$all:["red","blue"]}}, {_id: 0})
{ "name" : "wjh", "sex" : 1, "age" : 18, "color" : [ "red", "blue", "black" ] }
> db.Student.find({color:["red","blue","black"]}, {_id: 0})
{ "name" : "wjh", "sex" : 1, "age" : 18, "color" : [ "red", "blue", "black" ] }
> db.Student.find({"color.0":"white"}, {_id: 0})
{ "name" : "lpj", "sex" : 1, "age" : 22, "color" : [ "white", "blue", "black" ] }
  1. 排序
1
2
db.Student.find().sort({age:1})
db.Student.find().sort({age:1, sex:1})
  1. 分页
1
db.Student.find().sort({age:1}).limit(3).skip(3)
  1. 获取数量
1
2
db.Student.count()
db.Student.find().count()
  1. 删除数据
1
db.Student.remove({age: 22})
  1. 新增数据
1
db.Student.insert({name: 'sanduo', age: 16, sex: 1})
  1. 更新数据
1
2
3
db.Student.update({name: 'sanduo'}, {age: 66})
db.Student.update({name: 'sanduo'}, {$inc: {height : 175}}) //新增字段height
db.Student.update({name: 'sanduo'}, {$inc: {age : 185}}, true) //upsert存在则修改,不存在则新增