如何从猫鼬的两个集合中查询和获取文档

时间:2020-04-30 01:34:10

标签: node.js mongodb mongoose

我需要在猫鼬上一起查询来自两个集合的文档。 我熟悉SQL查询,但不熟悉mongoDB。 我为用户提供了两种架构,消息如下。

用户

const UserSchema = new mongoose.Schema({
    name: String,
    email: {type: String, unique: true},
    password: String,
    avatar: {type: String, default: ""},
    created_at: { type: Date, default: Date.now() }
});
module.exports = mongoose.model('User', UserSchema);

消息

const MessageSchema = new mongoose.Schema({
    message: { type: String, default: "" },
    from: { type: String, default: "" },
    to: { type: String: default: "" },
    is_read: { type: Boolean, default: false },
    channel: { type: String, default: ''},
    created_at: { type: Date, required: true, default: Date.now }
});

module.exports = mongoose.model('Message', MessageSchema);

我需要获取消息“ is_read”为“ false”。 我想一起获得“用户名”和“头像”。 消息的“ from”值应与User的“ _id”匹配。

1 个答案:

答案 0 :(得分:0)

我认为这篇文章总结得不错:Mongoose - query to get data from multiple collections

具体来说,第二个建议的答案提到了sql和mongodb之间的相似之处,并继续说明了如何在mongoose查询中链接集合。