gpt4 book ai didi

mongoid - MongoDB 查询一个数组以获得精确的元素匹配,但可能是乱序的

转载 作者:可可西里 更新时间:2023-11-01 09:09:11 25 4
gpt4 key购买 nike

我在 MongoDB 中有一个如下所示的文档:

{ users: ["2", "3", "4"] }

我尝试通过匹配用户数组来查询此文档。

db.things.find( { users: { $all: [ "2", "3", "4" ] } } )

该查询有效,但也会返回此文档:

{ users: ["2", "3", "4", "5"] }

最后的要求是能够查询元素乱序的用户数组,比如查询中的[ "3", "4", "2"],它能够返回我列出的第一个文档。

如有任何帮助,我们将不胜感激。提前致谢。

我也在使用 mongoid,如果它有一个任何人都知道的助手,但如果我需要的话可以直接进行 mongo 查询。

最佳答案

您可以将查询与 { users : { $size : 3 } } 子句结合起来,并调整大小以匹配您查询的用户数量。这将确保您获得准确的集合,而不是子集。

如果元素乱序,您可能需要为每个元素执行 { users : { $exists : "1"} },并将这些元素和 $size 子句组合在一起。

关于mongoid - MongoDB 查询一个数组以获得精确的元素匹配,但可能是乱序的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6165121/

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