我正在使用express-restify-mongoose
库来对抗猫鼬的休息端点。
我的架构如下所示:
const BookSchema = new Schema(
{
name: { type: String },
items: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Book' }],
}
);
所以我发送 http 补丁请求:{ name: 'blabla' }
它会按预期更改名称。
但是当我想将项目添加到项目数组时,就像{ items: ["5dd138199f6ecb3990360328"] }
它替换整个对象(用一个5dd138199f6ecb399036032d
项目)一样。
在我挖掘源代码后,我在这里看到该函数使用findOneAndUpdate
和$set
.
所以我的问题是有什么方法可以使用$push
或值中有任何功能/属性$set
吗?
我无法添加到这个库,但也许这里有任何解决方法?