gpt4 book ai didi

MongoDB : find value in Array with multiple criteria

转载 作者:IT老高 更新时间:2023-10-28 13:21:40 24 4
gpt4 key购买 nike

我有以下文件:

{_id : 1, numbers : [-1000, 1000]}
{_id : 2, numbers : [5]}

我正在尝试获取一个查询,该查询将在 numbers 数组中找到一个值介于 -10 和 10 之间的文档(在本例中为 _id : 2)。但是,当我尝试以下操作时:

db.foo.find({numbers : $and : [{$gt : -10},{$lt : 10}]})

它返回所有文档。没有map-reduce这可能吗?谢谢,-JWW

最佳答案

您可以使用 $elemMatch 来检查数组中的元素是否与指定的匹配表达式匹配。

在这种情况下,您可以使用它来获取一个文档,其 numbers 数组的元素介于 -10 和 10 之间:

   db.foo.find( { numbers : { $elemMatch : { $gt : -10 , $lt : 10 } } } );

这只会返回 _id : 2 文档。

关于MongoDB : find value in Array with multiple criteria,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12148845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com