使用 Mongo 查询数组元素

发布于 2024-09-10 18:40:13 字数 495 浏览 8 评论 0原文

如何查询含有苹果的冰沙? (以下是包含3个文档的集合)

_id => 1
name => 'best smoothie' 
ingredients => Array
    (
        [0] => apple
        [1] => raspberry
        [2] => orange
        [3] => banana
    )
_id => 2
name => 'summer smoothie' 
ingredients => Array
    (
        [0] => lemon
        [1] => mint

    )
_id => 3
name => 'yogurt smoothie' 
ingredients => Array
    (
        [0] => apple
        [1] => blueberry

    )

How can I query the smoothies that have apple in them? (below is a collection with 3 documents)

_id => 1
name => 'best smoothie' 
ingredients => Array
    (
        [0] => apple
        [1] => raspberry
        [2] => orange
        [3] => banana
    )
_id => 2
name => 'summer smoothie' 
ingredients => Array
    (
        [0] => lemon
        [1] => mint

    )
_id => 3
name => 'yogurt smoothie' 
ingredients => Array
    (
        [0] => apple
        [1] => blueberry

    )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苏佲洛 2024-09-17 18:40:14

如果您只是运行下面的查询,MongoDB 就会足够智能地找出您想要执行的操作。

{ ingredients: "apple" }

Mongo 将看到配料是一个列表,并且只返回该列表中某些位置包含“apple”的文档。

If you simply run the below query MongoDB is smart enough to figure out what you're trying to do.

{ ingredients: "apple" }

Mongo will see that ingredients is a list and only return documents that contain "apple" some where in that list.

嘿嘿嘿 2024-09-17 18:40:14

来自文档

注意:包含数组的字段匹配条件运算符,如果只有一个
项目匹配

因此,以下查询:

db.collection.find( { field: { $gt:0, $lt:2 } } );

将匹配包含以下内容的文档
以下字段:

{ 字段:[-1,3] }

From the documentation:

Note: Fields containing arrays match conditional operators, if only one
item matches
.

Therefore, the following query:

db.collection.find( { field: { $gt:0, $lt:2 } } );

Will match a document that contains the
following field:

{ field: [-1,3] }

送君千里 2024-09-17 18:40:14

为什么人们要为冰沙编写可扩展的应用程序?

db.find({"配料":{$in: "苹果"}});

Why do people write scalable applications for smoothies?

db.find({"ingredients":{$in: "apple"}});

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文