我正在使用node.js和mongoose,遇到问题。
这是我正在使用的模型:
const mongoose = require('mongoose');
const { Schema } = mongoose;
const prodSchema = new Schema({
name: String,
rate: String,
rate_number: String,
type: String,
offers: {
netflix: {
url: String,
},
amz: {
url: String,
},
},
updated_at: Date,
}, {
collection: 'prod',
});
const ProdModel = mongoose.model('prod', prodSchema);
module.exports = ProdModel;
例如,我想设置netflix网址,然后设置amz网址。
ProdModel.updateOne({ name: currentName },{ offers: { amz: { url: movies[i].url } } });
但是当我想例如设置netflix url amz时,返回一个空对象:/
答案 0 :(得分:0)
您可以使用mongo $set运算符更新嵌套属性,而不覆盖父对象中的其他属性。
ProdModel.updateOne({ name: currentName }, { $set: { "offers.netflix.url": movies[i].url } });