gpt4 book ai didi

mongodb - 搜索数组中的一项包含属性的记录

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:23 24 4
gpt4 key购买 nike

我有一个包含文档的集合。每个文档都有一个 part 属性,其中包含一个哈希数组(文档)。这些文档可能有也可能没有 _encwas 属性。

{ 
_id : "00001",
parts : [
{ _encwas: 1, body: "" },
{ body: "" }
]
},
{
_id : "00002",
parts : [
{ _encwas: 1, body: "" },
{ _encwas: 2, body: "" }
]
},
{
_id : "00003",
parts : [
{ body: "" },
{ body: "" }
]
}

有没有一种快速的方法可以找到至少一个部分包含 _encwas 属性的所有记录?

下面的查询有效

db.collection.find({ "parts.0._encwas" : { $exists : true } });

但我很想找到一种方法将 0 替换为 any part。例如

db.collection.find({ "parts.*._encwas" : { $exists : true } });

查询应该尽可能高效(我不介意是否需要创建额外的索引)因为我需要迭代超过 1M 的记录。

最佳答案

当我尝试使用您的测试数据时,这似乎有效:

db.collection.find( { "parts._encwas": { $exists : true } } )

此外,您可以使用以下方法找到包含具有特定值的_encwas 的所有文档:

db.collection.find( { "parts._encwas": 4 } )

...其中 4 是值...

我相信文档的相关部分在这里:Dot Notation

关于mongodb - 搜索数组中的一项包含属性的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7806820/

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