2015-04-07 6 views
0

У меня есть модель схемы мангуста, которая выглядит как пример ниже. Поле учетных записей - это массив идентификаторов учетных записей.Добавить в массив в схеме Mongoose

var ListingSchema = new Schema({ 
    listing: { type: String, required: true }, 
    admin: { type: String, required: true, index: true }, 
    accounts: [{ type: String, index: true }] 
}); 

Теперь в моем Узла/Экспресс бэкэндом, добавить запись так:

Listing.create({ 
    listing: req.body.id, 
    admin: req.session.userID, 
    account: req.session.userID 
}, function (err){ 
    if (err) throw err; 
    else res.send({success:true}); 
}); 

Однако я не добавляя к полю счета правильно, потому что это массив. Как я могу это сделать?

ответ

1

Для создания попробовать это:

var accounts = [req.session.userID]; 

Listing.create({ 
    listing: req.body.id, 
    admin: req.session.userID, 
    accounts: accounts 
}, function (err){ 
    if (err) throw err; 
    else res.send({success:true}); 
}); 

Для обновления попробуйте следующее:

{ $push: { accounts: 'value' } 
+0

Создайте, кажется, не работает для массива для меня ... – Coop

1
var accounts = [req.session.userID]; 

И

accounts: [{ type: String, index: true }] 

должен быть

accounts: [{ type: Array, index: true }] 
Смежные вопросы