我需要在猫鼬上一起查询来自两个集合的文档。 我熟悉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”匹配。
答案 0 :(得分:0)
我认为这篇文章总结得不错:Mongoose - query to get data from multiple collections
具体来说,第二个建议的答案提到了sql和mongodb之间的相似之处,并继续说明了如何在mongoose查询中链接集合。