×

笔记:MonogoDB 不完全命令

Falcon 2020-12-25 views:
自动摘要

正在生成中……

连接数据库

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)})