查询MongoDB中的整个对象数组

时间:2018-02-13 02:16:34

标签: arrays node.js mongodb mongodb-query

我正在构建我的第一个NodeJS应用程序,并且已经尝试创建了一个查询。

const userSchema = new Schema({
    email:{
       type: String,
    },
    friends: [{
       name: String,
    }],
    name: {
       type: String,
    }
});

我的目标是从friends数组中的每个对象中检索每个名称,并将其显示给用户。

我尝试过:(还有更多)

 const friendNames = await User.find( 
    {_id: req.user._id},
    { friends: { name: String } }
)


const friendNames = await User.find( 
    {_id: req.user._id},
    { friends: { $elemMatch: { name: String } }}
)


 const friendNames = await User.find( 
    {_id: req.user._id},
    { friends: { name: {$exists : true} } }
)

我认为这将是一个非常简单的查询,但我要么忽略了一些事情,要么完全误解了一个概念。这是我的第一个主要障碍。任何帮助或指导将不胜感激。

1 个答案:

答案 0 :(得分:0)

只需find({ _id: req.user._id }, { friends: 1 })即可。这是使用projection