[英]Creating MongoDB Document from Nested Object
我敢肯定这是一个简单的修复程序,但是我一直在努力尝试使嵌套对象的语法正确。 我正在尝试使用它来创建MongoDB文档。
Mongo文档存储两个用户之间的对话。 对话中的每条消息都存储在单独的MongoDB文档中,并且对话文档将引用属于它的每条消息。
这是会话模式(我认为可以)
var ConversationSchema = new mongoose.Schema({
participants: [
{
user1: {
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
},
user2: {
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
},
},
],
started: Number,
messages: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Message"
}
]
});
这是我创建对象以传递到MongoDB的许多尝试之一。
var conv = {
participants : {
"participants.user1.id" : req.body.senderId,
"participants.user1.username" : req.body.senderName,
"participants.user2.id" : req.body.recipientId,
"participants.user2.username" : req.body.recipientName
},
created : Date.now(),
messages : [] // The message _id is pushed in later.
}
这是“参与者”位,真让我震惊。 这些数据应该从客户端返回,但是我无法将其放入var conv
。 在这里创建嵌套对象的正确语法是什么?
任何指导都会很棒! 谢谢大家!
修复! 是的,这只是一个简单的语法错误:这是正确的格式,以防万一其他人到此为止。
var conv = {
participants : {
"user1" : {
"id" : req.body.senderId,
"username" : req.body.senderName
},
"user2" : {
"id" : req.body.recipientId,
"username" : req.body.recipientName
}
},
created : Date.now(),
messages : [] // The message _id is pushed in later.
}
另外,提示:走开,洗衣服。 回到您的身边,事情会变得更加清晰。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.