gpt4 book ai didi

arrays - 从子数组中找到文件?

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

我有一个文档集,看起来像这样:

"awards" : {
"oscars" : [
{"award": "bestAnimatedFeature", "result": "won"},
{"award": "bestMusic", "result": "won"},
{"award": "bestPicture", "result": "nominated"},
{"award": "bestSoundEditing", "result": "nominated"},
{"award": "bestScreenplay", "result": "nominated"}
],
"wins" : 56,
"nominations" : 86,
"text" : "Won 2 Oscars. Another 56 wins and 86 nominations."
}

我们将在 find() 命令中使用什么查询文档来返回 my_collection 集合中赢得或被提名为最佳影片的所有电影?

最佳答案

您需要使用 dot notation在嵌入文档上指定完全匹配并使用 $in运算符(operator)选择那些赢得或被提名为最佳影片的文件

你不应该使用 $or运算符在这里,因为如果索引不支持所有子句,它将执行集合扫描,如 documentation 中所述.

db.my_collection.find({ 
'awards.oscars.award': 'bestPicture',
'awards.oscars.result': { '$in': [ 'won', 'nominated' ] }
} )

关于arrays - 从子数组中找到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34827022/

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