位置: 编程技术 - 正文

MongoDB查询技巧总结(mongodb查询操作)

编辑:rootadmin

在MongoDB中db.collection.find()方法用于从集合中检索文档。db.collection.find()方法返回一个检索到文档的游标。db.collection.findOne()方法也执行读操作,返回一条文档。在内部实现上,db.collection.findOne()方法是db.collection.find()使用limit 1。

查询集合中的所有文档:

1.一个空的query文档({})可以查出一个集合中的所有文档:

2.没有指定query文档的find()等价于指定一个空query文档的查询。因此,下面的查询和上面的查询时等价的:

指定相等条件:使用{<field>:<value>}文档指定相等条件,查询所有包含<field>字段,值为<value>的文档。下面的例子从inventory集合中检索所有type字段值为snacks的所有文档:

使用query操作符指定条件:在MongoDB中可以使用query操作符指定条件。下面的例子从inventory集合中查询type字段的值为'food'或者'snacks':虽然这个查询可以使用$or操作符,但是对于同一个字段的相等检测使用$in而不是$or。

指定AND条件:符合查询可以在条件中指定多个文档字段。逻辑AND连接一起的复合查询条件,查询符合所有条件的文档。下面例子中,query文档指定等于food和price字段小于($lt)指定值的查询条件:这个查询选择所有type字段值等于food,而且price字段值小于9.的文档。

指定OR条件:使用$or操作符,可以指定一个使用逻辑OR连接的复合查询,查询选择集合中至少匹配一个条件的文档。下面的例子中,查询集合中所有qty字段值大于($gt)或者price字段值小于($lt)9.的文档:

同时指定AND和OR条件:使用更多的条件,可以指定精确的查询条件。在下面的例子中,符合query文档选择集合中所有type字段值为'food',并且qty的值大于($gt)或者price值小于($lt)9.的文档:子文档: 当字段包含嵌入的文档(即子文档),可以指定整个子文档作为一个字段的值,或使用点符号“进入”子文件,指定该子文档的各个字段的值:1.精确匹配子文档:指定一个相等条件匹配整个子文档,使用query文档{<field>:<value>},<value>用于匹配子文档。“相等”匹配子文档需要子文档的字段精确匹配<value>条件,包括字段的顺序。下面的例子查询producer字段的值匹配一个仅包含值为“ABC”的company字段和值为“ Street”的子文档,并且有先后顺序: 2.子文档字段“相等”匹配:查询集合中指定字段的子文档的字段包含指定条件的文档。下面的例子使用点符号查询producer的子文档的conmpany字段值为“ABC”的所有文档:

数组: 当字段值是一个数组时,可以使用数组精确匹配或者在数组中指定值。如果数组元素是一个子文档,可以使用点符号指定字段。精确匹配数组: 在数组中指定相等条件,使用query文档{<field>:<value>},<value>是用于匹配的数组。数组的精确匹配需要数组的字段完全匹配指定的<value>,包括元素的顺序: 匹配一个数组元素: 可以在数组中指定一个单独的元素用于"相等"匹配。这种规范匹配的数组至少需要包含一个指定的元素。下面的例子将匹所有tags是一个数组且包含"fruit"元素的文档: 匹配数组的指定元素: 在数组中匹配指定索引或位置与条件相等的文档。下面例子中,使用点符号匹配所有tags是一个数组,且第一个元素是"fruit"的文档: 子文档数组:

使用数组索引匹配子文档的字段: 如果知道子文档数组的索引,就可以指定子文档的位置。下面的例子查询所有memo包含一个数组且第一个元素是一个子文档,子文档的by字段值为"shipping"的文档: 匹配一个字段不使用数组索引: 如果不知道子文档的索引位置,使用点连接数组的字段名称和子文档字段名称。下面的例子查询所有memos字段是一个数组,且数组包含至少一个by字段值为"shipping"的子文档的文档: 匹配多个字段: 为了在子文档中匹配多个字段,可以使用点符号或者$elemMatch操作符。下面的例子使用点符号查询memos字段值是一个数组,并且子文档memo字段等于"on tiem",by字段等于"shipping"的文档: 下面的例子使用$elemMatch操作符查询memos字段值是一个数组,并且子文档memo字段等于"on tiem",by字段等于"shipping"的文档:

推荐整理分享MongoDB查询技巧总结(mongodb查询操作),希望有所帮助,仅作参考,欢迎阅读内容。

MongoDB查询技巧总结(mongodb查询操作)

文章相关热门搜索词:mongodb查询操作,mongodb数据查询,mongodb查询操作,mongodb查询操作,mongodb查询文档操作,mongodb的查询语句,mongodb 查询条件,mongodb数据查询,内容如对您有帮助,希望把文章链接给更多的朋友!

MongoDB插入数据的3种方法 insert()方法:下面是在inventory集合中插入一个三个字段的文档:db.inventory.insert({_id:,type:"misc",item:"card",qty:})在实示例中,文档有一个用户指定的值为

高效mongodb的php分页类(不使用skip) mongodb分页skip+limit分页要先查出所有结果再去跳过,这样如果查询页面越往后效率越低。如果能够通过查询条件查出每页结果的最后一条记录,在用最

mongodb数据库的6个安全设置命令 1、以安全认证模式启动bin/mongod??auth?-dbpath/Users/mc2/mongo/db-logpath/Users/mc2/mongo/log.log&使用?auth选项启动mongod进程即可启用认证模式。或者,也可以修改/etc/mo

标签: mongodb查询操作

本文链接地址:https://www.jiuchutong.com/biancheng/320223.html 转载请保留说明!

上一篇:MongoDB查询操作限制返回字段的方法(mongodb如何查询数据)

下一篇:MongoDB插入数据的3种方法(mongodb添加数据库)

  • 2023年印花税税率口诀
  • 软件产品即征即退条件
  • 企业所得税怎么算出来
  • 增值税附加税减免
  • 增值税专票如何添加商品名称
  • 销售人员的福利项目包含什么
  • 帮别人买交强险,受益人是我,有影响吗
  • 购销业务账务处理
  • 出口酒类产品需要什么
  • 同一张记账凭证可以出现多笔分录吗
  • 业务招待费可以开专票吗
  • 注册资本低于实际投资
  • ppp项目是否纳入政府债务
  • 未入账成本
  • 建筑行业包含哪些项目
  • 什么情况下的发烧才会全身酸痛呢
  • 电子普通发票如何打印
  • 制造费用月末怎么结转到生产成本
  • 出售原材料属于营业收入吗
  • 1697509310
  • 库存商品无发票所得税怎么调增
  • 其他应付款辅助核算怎么挂
  • 营改增后的增值税税率
  • 企业转让库存股,应按实际收到的金额
  • 财务填写规范
  • 对公账户发放工资要固定几号打吗
  • 进货的折扣该怎么算
  • 如何认定坏账
  • php的数组函数
  • 公益性捐赠增值税税率
  • 一只草丛里的狐狸作文
  • 进出口企业税务怎可以查出问题
  • 收汇金额和出口金额差额大怎么办
  • elementui 手机端
  • 其他经营收益怎么算
  • 大型语言模型的教育应用
  • High-resolution image reconstruction with latent diffusion models from human brain activity
  • 规划设计费会计处理
  • 企业销售旧车如何开票
  • 小规模纳税人是什么意思
  • access数据库修改字段类型
  • 公司收到银行发放贷款会计分录
  • 增值税扣缴义务发生时间为扣缴义务人扣缴税款的当天
  • 工程施工属于什么经营范围
  • 个体户需要实缴吗
  • 进项税额转出期限是多久
  • 固定资产被盗报警
  • 债权投资是什么会计科目
  • 逾期的押金计入什么科目
  • 基本户打款个人怎么办
  • 主营业务成本包括工资吗
  • 建账有哪些步骤,每个步骤有哪些注意事项
  • sqlserver1053怎么解决
  • win帮助系统在哪里
  • win7系统u盘打不开怎么办
  • vnc server apk
  • windows tasks文件夹
  • win8的应用商店
  • linux 网站备份
  • ubuntu 14.04安装
  • linux分区方案lvm
  • 如何配置centos7下的apache服务
  • windows7右下角网络图标不见了怎么办
  • WIN10系统怎么删除软件
  • JavaScript实现QQ列表展开收缩扩展功能
  • cocos2dx android游戏防破解总结
  • 微信小程序用户名怎么改名
  • nodejs npm package.json中文文档
  • 搜狐畅游手游官网
  • js 根据时间排序
  • python做应用软件界面
  • Unity3D AsssetBundle加载效率比较
  • Android-Canvas.drawText()详解
  • 设计模式的原则
  • python简单实现刷新智联简历
  • python爬取前程无忧
  • javascript网页编程
  • jquery中追加到指定元素末尾
  • 增值税纳税申报操作流程
  • 光伏电站电力监控系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设