我正在尝试更新模型中的数组元素。这是一个简单的字符串数组。当我运行代码时,元素会更新,但它会插入一个值为'newType'的新数组。我正在使用mongoose 4.11.7。
我期望的结果是: ['a','b','newType']但在更新后它返回['a','b',['newType']]。
const profile = await Profile.findOneAndUpdate({
_id: 1,
types: 'oldType'
}, {
$set: {
'types.$': 'newType'
}
});
我的模特是:
const schema = new Schema({
types: [{
type: String,
trim: true
}]
}, {
timestamps: true,
collection: 'Profile'
});