Я знаю, как добавить объект в коллекцию в MongoDB с помощью Node.js, например:Как добавить объект в коллекции в другую коллекцию в MongoDB используя Node.js
router.post('/addProduct', function (req, res) {
Partner.findByIdAndUpdate({ _id: req.body.partnerId }, { $push: { "products": { name: req.body.dataProduct.name } } }, { safe: true }, function (err, response) {
if (err) throw err;
res.json(response);
});
});
но что, если в продукте будет другой стол? Как я могу просто добавить туда объект?
Скажем, это моя схема:
var partnerSchema = new mongoose.Schema({
name: String,
products: [
{
name: String,
campaignList: [
{
name: String,
type: String,
startDate: Date,
endDate: Date,
paymentMethod: String,
partnerPayout: Number,
ourPayout: Number
}
]
}]
});
ID в каждом partner
и product
являются по умолчанию ._id
например. partner._id
и product._id
. Вот почему не в схеме выше. Однако я отправляя их с интерфейсной бакэнду как req.parameter
- обычно вещь, но я хотел бы сказать это наверняка :)
Этот код добавит NEW 'product' вместо добавления' campaignList' в уже существующий – DiPix