ID列表应检查一个文档中是否存在这些ID

时间:2019-07-18 13:53:49

标签: javascript json mongodb

我在“用户”和“书”集合中有这个简单的模式

user = {
    _userid: String,
    favoriteBooks: String[],
    bookmarkBooks: String[]
}

book = {
    _bookid: String,
    title: String
}

我有两个用于过滤器的变量。一个是_userid,另一个是书籍中的ID数组。

让我们说:

const _userid = "5d2ca5d2da6ecf39b04bb13a";
const _bookidArray = ["5d2f5ab31dd80550f0ac2e4e", "5d2f064f2ecded3414d07c33"]; //_bookid

现在,我正在尝试一种方法,以检查给定_userid文档中的收藏夹和/或书签簿中是否存在_bookidArray(其中一个ID)。

我希望有以下类似的东西:

db.collection('user').findOne({_userid}, {something?}));

,或者可能需要使用聚合解决方案。我不确定。

我期望像JSON这样的输出结果(如果需要,它可以有所不同):

"5d2f5ab31dd80550f0ac2e4e":{
    "favorite": true,
    "bookmark": false
},
"5d2f064f2ecded3414d07c33":{
    "favorite": false,
    "bookmark": false
}

如果键来自_bookidArray,并且_userid给定文档(favoriteBooks + bookmarkBooks)中存在_bookidArray的ID之一,则_userid文档给出值“ favorite” /“ bookmark”。

感谢您的帮助!

0 个答案:

没有答案