You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB查询问题:如何匹配ContactLists.Values任意节点中的指定GUID

如何查询MongoDB文档中嵌套对象任意位置的特定GUID

你的问题根源在于指定了具体的索引.0.,这就把查询范围限制在了ContactLists.Values下的第一个子对象。要匹配任意位置的目标GUID,只需要去掉索引部分,让MongoDB自动遍历所有子元素即可。

正确的查询语句

db.Contacts.find({ "Tags.Entries.ContactLists.Values.Value": "{360DC2AE-2B67-4E8D-E320-71D0D30D90F7}" })

原理说明

MongoDB的点符号查询支持遍历嵌套对象(包括你这种键为数字的类数组结构)下的所有子文档。当你直接写Values.Value时,MongoDB会检查Values下的每一个子对象——不管键是0、1还是其他数字——只要其中有一个Value字段等于目标GUID,这个文档就会被匹配到。

测试验证

用你提供的样本文档测试这个查询:

  • 当GUID在Values.0.Value时,能正常匹配(和原查询结果一致)
  • 当GUID在Values.1.Value或Values.5.Value这类其他位置时,同样能被精准匹配,完美解决你遇到的问题。

内容的提问来源于stack exchange,提问作者SCDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 18:12:44