## 更新命令示例

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,  输出结果集

最新文章

  1. Spring学习笔记
  2. FMDB简单使用
  3. 【Django】如何按天 小时等查询统计?
  4. POJ 1201 Intervals (差分约束,最短路)
  5. 服务端配置scan ip
  6. Sqlserver统计语句
  7. CSS display:table属性用法- 轻松实现了三栏等高布局
  8. nginx自定义模块记录上游服务器特定响应头
  9. Android使用HttpClient向服务器传输文件
  10. &lt;meta&gt;标签的作用
  11. 一名Java架构师分享自己的从业心得,从码农到架构师我用了八年
  12. pytest 3.fixture介绍一 conftest.py
  13. 利用表格分页显示数据的js组件bootstrap datatable的使用
  14. Oracal
  15. oracle基础 管理索引
  16. hdu 4348 To the moon (主席树)
  17. jquery 利用CSS 控制打印样式
  18. HTML5 css3 阴影效果
  19. 为什么要用MQ
  20. 五、curator recipes之选举主节点Leader Latch

热门文章

  1. CDQ求子矩阵的和
  2. 转:KVM使用NAT联网并为VM配置iptables端口转发,kvmiptables
  3. p5437 【XR-2】约定
  4. CyclicBarrier 源码分析
  5. Redis安装启动,Redis Desktop Manager安装
  6. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_5_InvalidClassException异常_原理
  7. Android在WindowManagerService和ActivityManagerService中的Token
  8. Http Handler 介绍
  9. 【FICO系列】SAP 财务帐与后勤不一致情况
  10. bootstrap-select控件全选,全不选,查询功能实现