У меня есть модель User
, и каждый документ user
имеет поле name
, которое является String
, и поле friends
, которое представляет собой array
целых чисел, которые содержат id's
других пользователей, с которыми этот пользователь дружит.
Всякий раз, когда я хочу создать новый пользовательский документ с одним идентификатором, который уже находится в массиве друзей, мне нужно выполнить три шага: 1. создать нового пользователя с определенным именем; 2. сохранить этого пользователя; 3. обновить поле друзей этого пользователя, добавив новый идентификатор друга в массив.
Мне было интересно, есть ли другой, более эффективный способ достижения того же результата. Вот мой код:
var User = mongoose.model('User',{
friends: {
type: [Number],
required: false
},
name: String
});
//cretae new user document
var user = new User ({
name: name
});
user.save(function(err){
if(err){
console.log("something went wrog, read below");
console.log(err);
}else{
User.update({'name': name}, {
$addToSet: { 'friends': newFriendId}
},function(err, count) {
if(err){
console.log(err);
}else{
console.log(count);
}
});
}
});