Я уверен, что это простое исправление, но я вытягиваю свои волосы, пытаясь получить синтаксис правильно для вложенного объекта. Я пытаюсь использовать его для создания документа MongoDB.Создание документа MongoDB из вложенного объекта
Mongo documents хранит разговоры между двумя пользователями. Каждое сообщение в разговоре хранится в отдельных документах MongoDB, а документ разговора ссылается на каждое сообщение, которое принадлежит ему.
Вот разговор Schema (который я думаю, все в порядке)
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
. Какой правильный синтаксис для создания вложенного объекта, который мне нужен?
Любое руководство было бы замечательным! Спасибо людям!