自动摘要
正在生成中……
连接数据库
mongo localhost:27017/mycoustomers -u falcon -p
美化打印输出:
db.customers.find({first_name:"Falcon"}).pretty()
upsert
,如果没有找到记录,直接当新记录插入
db.customers.update({first_name:"Mary"},{first_name:"Mary",last_name:"Samson"},{upsert:true})
批量更新
默认情况下,当查询器查询出多条符合条件的数据时,默认修改第一条数据.
可以添加第四个参数,该参数为true
,则批量更新,false
更新一条 。
db.customers.update({age:{$lt:30}},{$set:{address:{street:"GTA st",city:"Los Angle",contry:"USA"}}},false,true)
移除某个key
db.customers.update({first_name:"Karen"},{$unset:{"gender":""}})
重命名某条记录的key
db.customers.update({first_name:"karen"},{$rename:{"gender":"sex"}})
移除一条记录
db.customers.remove({first_name:"karen"})
默认会移除全部,只移除一条时
db.customers.remove({first_name:"karen"},{justOne:true})
OR
查询
db.customers.find({$or:[{first_name:"Falcon"},{first_name:"Karen"}]})
比较操作符: $lt
,$gt
, $lte
,$gte
db.customers.find({age:{$lt:30}})
子字段的查询:
文档数据结构如下:
{
"_id" : ObjectId("5fe5d54faf1a760accd75fc9"),
"first_name" : "Karen",
"last_name" : "LL",
"age" : 5,
"address" : {
"street" : "GTA st",
"city" : "Los Angle",
"contry" : "USA"
}
}
按address里contry字段的值查找:
db.customers.find({"address.city":"USA"})
注意:这里的子字段address.city必须用引号包含起来,不然会报语法错误
查询数组字段包括的值
有一段结构如下
{
"_id" : ObjectId("5fe5d96e4cdae10e70a520ec"),
"first_name" : "Mary",
"last_name" : "Samson",
"members" : [
"m1",
"m2",
"m3"
]
}
查询在members里含有m1的数据
db.customers.find({members:"m1"})
排序sort
:1表示升序,-1表示降序
db.customers.find().sort({age:-1})
加总count
db.customers.find().count()
游标limit
db.customers.find().sort({age:-1}).limit(1)
foreach
db.customers.find().forEach(function(doc){print("Customer Name:"+doc.first_name)})