我对 Node js 和 Mongoose 模块非常陌生。我正在尝试创建一个架构,其中有一些必填字段,而其他一些字段可以是动态的。
我用过strict
to false
。我的代码如下所示:
var mongoose = require('mongoose')
var db = mongoose.connect('mongodb://localhost/ets',function(err)
{
if(err) throw err
})
var Schema = mongoose.Schema
var Tasks = new Schema({vmProfile:String}, { strict: false });
mongoose.model('Task',Tasks)
var Task = mongoose.model('Task')
var task = new Task()
task.vmProfile = "required value"
task.otherKey = "something"
task.save(function(err)
{
if(err) throw err;
})
当我运行这个时,我只得到vmProfile
已保存,未保存otherKey
,数据库看起来像这样:
{ "vmProfile" : "required value", "_id" : ObjectId("53364a5a5cd71a76122f0a8a"), "__v" : 0 }
我在哪里犯了错误。
来自猫鼬docs http://mongoosejs.com/docs/guide.html#strict:
注意:实例上设置的任何键/值在您的实例中不存在
无论模式选项如何,模式始终被忽略。
您可以在创建模型实例时设置该值:
var task = new Task({'otherKey', 'some value'});
您还可以将临时值放在mixed http://mongoosejs.com/docs/api.html#schema-mixed-js子文档类型也是如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)