## 更新命令示例
db.getCollection('collection_name').update(
{'_id':ObjectId('id string')},
{$set:{'keyname.subkeyname':'value'}},
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ]
}
);
## find[One] 表示 find 或者 findOne
db.getCollection('collection_name').find[One]();
db.getCollection('collection_name').find[One]({userid:'190687'});
db.getCollection('collection_name').find[One]({userid:'190687'}, {"userid":1,"doctor_id":1});
db.getCollection('collection_name').find[One]({userid:'190687'}, {"userid":0,"doctor_id":0});
## find[One]之后的函数无顺序要求
.find[One]().sort({"field":1}).limit(1).skip(1);
## 聚合查询
https://docs.mongodb.com/manual/reference/method/db.collection.group/
查询条件:
区间查询,可以是单边区间
{"age":{"$gte":18, "$lte":40}}
不等于
{"name":{"$ne":"username"}}
in, 可以是不同数据类型
{"name":{"$in":["username",123]}}
not in, 可以是不同数据类型
{"name":{"$nin":["username1","username2"]}}
or 查询
{"$or": [{"name":"username"}, {"userid":{"$gte":100}}]}
not 排除查询
{"name": {"$not": {"$in":["username1","username2"]}}}
键值不存在或值为null查询
{"field_name":null}
键值存在,且值为null
{"field_name": {"$in": [null], "$exists":true}}
正则查询, i表示忽略大小写
{"name":/keyword/i}
基于数组查询, 存储数据 "colors":["red", "green", "blue"]
数组中包含"green"的数据
{"colors":"green"}
数组中包含"red","blue"的数据, 无顺序要求
{"colors": {"$all": ["red","blue"]}}
精确查询,顺序必须一致
{"colors":["red", "green", "blue"]}
按键值查询
{"colors.0":"red"}
按长度查询,$size不能和比较操作符联合使用。
{"colors": {$size : 3}}
$slice返回数组中的部分数据
"$slice":2表示数组中的前两个元素。
"$slice":-2表示数组中的后两个元素。
"$slice":[2,1] 表示从第二个2元素开始取1个,如果大于元素数量,则取后面的全部数据。
## 其他
forEach, 对数据集合循环
print, 输出结果集