gpt4 book ai didi

node.js - Mongodb:我可以比较一个字段中的值是否包含在另一个字段中吗

转载 作者:行者123 更新时间:2023-12-03 12:10:27 24 4
gpt4 key购买 nike

假设我有一个名为collection_a的集合,其中包含对名为collection_b的集合b的查找。如果集合包含一个名为primary_color的字段,而查找包含一个名为available_colors的字段。如何比较primary_coloravailable_colors以查看primary_color列表中是否包含available_colors的当前值?
我尝试了以下操作,但在整体匹配中不起作用,

{'primary_color': {'$in': '$collection_b.available_colors'}}.

最佳答案

$match阶段无法引用另一个集合。
您必须使用$lookup或以 Mongoose 填充。

db.collectiona.aggregate([
{"$lookup":{
"from":collectionb,
"localField":"primary_color",
"foreignField":"available_colors",
"as":"matches"
}},
{"$match":{"matches.0":{"$exists":true}}}
])
https://mongoplayground.net/p/bkQzZcrP0aJ

关于node.js - Mongodb:我可以比较一个字段中的值是否包含在另一个字段中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65229609/

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