gpt4 book ai didi

mongodb - 在 MongoDB 3.0.7 中进行嵌套查询

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

我有属于用户事件子事件,并且我知道用户的用户名 - 如何获得列表子事件的?

这是在朝着正确的方向前进吗?还是完全关闭?

db.subevents.find({_id: {$in: 
db.events.find({_id: {$in:
db.users.find({"username":"userx"},{_id:1})}},{_id:1})}})

编辑:这是数据结构的示例:

/* Event */
{
"_id" : "XjhAqqNBkezKY3mdN",
"name" : "My event",
"userId" : "FiKsAAAgBb7cNoPH7"
}
/* Subevent */
{
"_id" : "WkYAqBXNpJryp7rum",
"name" : "The subevent",
"eventId" : "hQXNzX3jbWppbAYFH"
}
/* User */
{
"_id" : "RTHh5srhLMQp625zF",
"username" : "userx"
}

最佳答案

按照 profesor79 的建议使用三种不同的调用,我将这个解决方案放在一起以获取属于用户的所有子事件:

var userIds = db.users.find({"username":"userx"}).map(function(user) { 
return user._id;
});
var eventIds= db.events.find({userId: {$in:userIds}}).map(function(event) {
return event._id;
});
db.subevents.find({eventId:{$in:eventIds}});

关于mongodb - 在 MongoDB 3.0.7 中进行嵌套查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37855825/

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