MongoDB查询来自不同集合的字段

时间:2020-01-07 14:30:47

标签: mongodb mongodb-query aggregation-framework

我不知道如何构建执行此操作的查询:

我有一个用户集合,每个用户都有一个字段userdata,其中包含String数组。 每个字符串是另一个集合中其他文档(已经看到的新闻)的ObjectID的字符串。

我需要知道该用户的用户名,才能执行查询以获取所有新闻,而不是已经看到的新闻。

我认为$nin运算符可以满足我的需要,但我不知道如何将其与另一个集合中的数据混合。

Users
    user
        username: String
        userdata: Object
            news: Array of String

News
    news1
        _id: ObjectID
    news2
        _id: ObjectID

示例:

Users: [{
    username: 'mario',
    userdata: {
        news: ['10', '11']
    }
}]
News: [{
    _id: '10',
    content: 'hello world10'
},{
    _id: '11',
    content: 'hello world11'
},{
    _id: '12',
    content: 'hello world12'
}]

username(作为字符串)'mario'传递给查询时,我需要查询新闻集,并仅返回带有_id '12'的新闻。

谢谢

0 个答案:

没有答案