Я пытаюсь вставить объекты в объект (а не массив). Как мне это сделать?
Вот пример структуры данных, которые я пытаюсь достичь.
users:{
'0': {
name: 'Tom',
age: '19',
car: 'Mazda 3',
},
'1': {
name: 'Ryan',
age: '27',
car: 'BMW',
},
'2': {
name: 'Jake',
age: '22',
car: 'Audi',
}
}
users
- это поле в документе, содержащем коллекцию пользователей. Я хочу добавить новых пользователей в поле users
и когда я их добавлю, ключи внутри пользователей должны соответственно увеличиваться.
поэтому новый добавленный объект должен быть:
'3': {
name: 'Sam',
age: '24',
car: 'Honda',
}
Это то, что я сейчас делаю:
let newUser = {
name: 'Sam',
age: '24',
car: 'Honda',
};
db.collection('Group').findOneAndUpdate({
'_id': new ObjectId(groupId),
}, {
'$set': {
'users.$': newUser,
},
}, {
returnOriginal: false,
}
})
Заранее спасибо.
Вы можете попробовать это
db.collection.findOneAndUpdate(
{ },
{ "$set": {
"users.3": newUser
}}
)
yourModel.create(req.body,function(err,result){
console.log(result);
});
suppose your req.body will
{name: 'Sam',age: '24',car: 'Honda' };
Второй путь:
user.collection.create(req.body,function(err,result){
console.log(result);
});
suppose your req.body will
{name: 'Sam',age: '24',car: 'Honda' };
$update
- docs.mongodb.com/manual/reference/method/db.collection.updateusers
- это поле в документе. Я хочу добавить новые пользовательские объекты в полеusers
. Кроме того, я хочу, чтобы ключиusers
увеличивались при добавлении нового объекта пользователя.