每当我有一个带有数组的模式时,其元素都有可能的模式,每当我尝试使用空数组作为值更新文档时,我都会收到错误。 如何在不收到此错误的情况下为这些数组元素提供架构?
示例架构:
tags: { type: [String], "default": [] }
//or
tags:[ {type:String} ]
示例请求:
MyModel.findOneAndUpdate({something:true},{tags:[]},callback);
示例错误:
[TypeError: Cannot read property 'schema' of undefined]
我的环境:
答案 0 :(得分:0)
不能说相同的基本原则产生相同的结果:
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/test');
var exampleModel = new Schema({
something: Boolean,
tags: { type: [String], default: [] }
});
var MyModel = mongoose.model( 'Model', exampleModel );
MyModel.findOneAndUpdate(
{ something: true },
{ tags: [] },
{ upsert: true },
function( err, doc ) {
console.log( doc )
}
);
这给了我一个结果:
{ _id: 5370b44e718592ba9206979c, something: true, tags: [] }