gpt4 book ai didi

mongodb - 如何匹配mongo中同一文档的字段值?

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

我有以下文件:

{
"_id" : "bfc523ad-c09d-4be8-99c2-64a709cf95ab",
"field1" : {
"c1" : "bfc523ad-c09d-4be8-99c2-64a709cf95ab",
"c2" : "pl_PowerList_bfc523adc09d4be899c264a709cf95ab",
},
"Columns" : [
{
"name" : "abc49777",
"lookup":{
"id":"bfc523ad-c09d-4be8-99c2-64a709cf95ab"
}

},
{
"name" : "abc7846",
"lookup":{
"id":"cgc523ad-c09d-4be8-99c2-64a709cf95xy"
}

}
]
}

现在我想获取 field1.c1 值等于 Columns.lookup.id(在任何一个列中)的所有文档。我尝试了以下查询:

db.mycollection.find({$where:"this.field1.c1 == this.Columns.lookup.id"})

当我执行上述查询时,我收到错误消息,指出字段 ID 未定义。我想要所有这样的文档,其中至少一列的 lookup.id 与该文档的 field1.c1 相同。我将如何做到这一点?

最佳答案

你可以试试这个:

db.mycollection.find( 
{ $where:
function() {
var array = this.Columns;
for (var i in array) {
if(array[i].lookup.id == this.field1.c1) {
return true;
}
}
return false;
}
})

关于mongodb - 如何匹配mongo中同一文档的字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46464865/

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