如何进行MongoDB查询文档

技术如何进行MongoDB查询文档如何进行MongoDB查询文档,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。查询文件使用inventory集合。插入inv

关于MongoDB如何查询文档,相信很多没有经验的人都不会做。因此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

查询文件

使用库存集。要插入清单集合的内容,请运行以下命令:

db.inventory.insertMany([

{item:'journal ',qty:25,size:{h:14,w:21,uom:'cm'},status:'A'},

{item:'notebook ',qty:50,size:{h:8.5,w:11,uom:'in'},status: ' A ' },

{item:'paper ',qty:100,size:{h:8.5,w:11,uom:'in'},status: ' D ' },

{item:'planner ',qty:75,size:{h:22.85,w:30,uom:'cm'},status: ' D ' },

{item: '明信片',qty:45,size:{h:10,w:15.25,uom:'cm'},status: ' A ' }

]);00-1010要选择集合中的所有文档,请将空文档作为查询筛选参数传递给查找方法。查询过滤器参数决定选择标准:

Db.inventory.find({})此操作相当于以下SQL语句:

有关方法语法的更多信息,请参见查找()。

指定相等条件。

若要指定相等条件,请使用查询筛选器文档中的表达式field:value:

{field1: value1,}以下示例从库存集合中选择所有状态为的文档“d ”:

此操作对应于以下SQL语句:

从库存中选择*状态=“D”

选择集合中的所有文档

查询过滤文档可以使用查询运算符以下列形式指定条件:

{field1: {operator1: value1},}以下示例从库存集合中检索所有文档,其中状态等于“a”或“d”:

db . inventory . find({ status : { $in :[' a ',' d ']})

使用查询运算符指定条件

虽然您可以在查询中使用$or运算符,但在对同一字段执行相等性检查时,请使用$ in运算符而不是$or运算符。

此操作对应于以下SQL语句:

从“a”、“d”中的fromventorywherestationsin中选择*。有关MongoDB查询运算符的完整列表,请参见查询和投影运算符文档。

00-1010复合查询可以为一组文档中的多个字段指定条件。隐式地,逻辑AND连接将连接复合查询的子句,以便查询选择集中匹配所有条件的文档。

以下示例检索库存集合中状态序列为“A”且数量小于($lt)30的所有文档:

此操作对应于以下SQL语句:

选择* fromventorywherestatus="a "和qty30。参见其他MongoDB的比较操作。

00-1010使用$OR运算符,您可以指定一个复合查询,该查询使用逻辑OR连接来连接每个子句,以便查询选择集中至少符合一个条件的文档。

以下示例检索集合中状态等于“a”或数量小于($lt)30的所有文档:

此操作对应于以下SQL语句:

对于其他MongoDB比较运算符,请选择* fromventorywherestatus="a "或qty30

注意

,请参见比较运算符。

指定AND条件

在以下示例中,对集合执行复合查询,以获取满足以下条件的文档:状态等于“a”且数量小于($lt)30或项目值以p开头的文档:

db . inventory . find({ 0

状态:'A ',

$or:[{qty:{$lt:30}},{item:/^p/}]

})此操作对应于以下SQL语句:

选择* Frominventorywherestatus="a "和(qty 30 oritemlike " p % ")

指定OR条件

MongoDB支持正则表达式$regex查询来执行字符串模式匹配。

看完以上,你知道MongoDB怎么查询文档吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道。感谢阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/67451.html

(0)

相关推荐

  • jquery ajax有哪些优势

    技术jquery ajax有哪些优势本篇内容主要讲解“jquery ajax有哪些优势”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery ajax有哪些优势”吧!

    攻略 2021年11月16日
  • 尼德兰,荷兰为什么改国名为尼德兰

    技术尼德兰,荷兰为什么改国名为尼德兰综合国外多家媒体报道,从2020年1月起,荷兰将把国名正式改称为尼德兰,改国名需花费32万美元尼德兰。好好的国名叫了这么多年,现在又花钱又麻烦,为什么非要改呢?(荷兰地图)原来,荷兰的

    生活 2021年10月22日
  • 缓存层与数据库层数据同步

    技术缓存层与数据库层数据同步 缓存层与数据库层数据同步缓存层与数据库层数据同步问题
    在实际的业务开发中,为了避免大量请求直接操作数据库,我们会用redis做一个缓存层,用户的数据库请求先在redis中查

    礼包 2021年11月1日
  • oracle赋予用户创建方法的权限(oracle赋予用户调用某个过程权限)

    技术Oracle中定义者权限和调用者权限的示例分析这篇文章给大家分享的是有关Oracle中定义者权限和调用者权限的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。定义者权限:定义者权限指

    攻略 2021年12月13日
  • 台湾云服务器租用选择台湾云服务器的优势

    技术台湾云服务器租用选择台湾云服务器的优势随着现在亚太地区海外云服务器的火爆,现在台湾云服务器的需求量也大增,下面就来谈谈选择台湾云服务器的五大理由更好的正常运行时间和可用性 与传统VPS不同,云服务器的可用性不取决于单

    礼包 2021年10月20日
  • LN3,若a=ln22 b=ln3

    技术LN3,若a=ln22 b=ln3b>a>ca/b=3ln2/2ln3=ln8/ln9<1,a<b
    b/c=5ln3/3ln5=ln243/ln125>1,b>c
    a/c=5ln2/2ln5=ln32/ln25>1,

    生活 2021年10月26日