Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何在Mongoose文档中允许自由格式的JSON数据?_Mongodb_Mongoose - Fatal编程技术网

Mongodb 如何在Mongoose文档中允许自由格式的JSON数据?

Mongodb 如何在Mongoose文档中允许自由格式的JSON数据?,mongodb,mongoose,Mongodb,Mongoose,在将模型存储到MongoDB之前,我使用它对模型进行部分验证 是否可以放松Mongoose模式,从而使文档的给定部分不被验证?我已尝试以下方法: var MySchema = new Schema({ user_id: { type: Schema.ObjectId, ref: 'User' }, freeform_data: {}, }); 例如,如果我将内容设置为: { user_id: '123456', freeform_data: { data

在将模型存储到MongoDB之前,我使用它对模型进行部分验证

是否可以放松Mongoose模式,从而使文档的给定部分不被验证?我已尝试以下方法:

var MySchema = new Schema({
    user_id: { type: Schema.ObjectId, ref: 'User' },
    freeform_data: {},
});
例如,如果我将内容设置为:

{
   user_id: '123456',
   freeform_data: {
      dataitem1: 'a',
      dataitem2: 'b',
      items: [ 1, 2, 3, 4 ]
   }
}
然后只存储
user\u id
,这在安全方面非常合理

如何禁用mongoose对此字段的验证


我使用此应用程序只是为了原型化,所以我现在不关心安全性(我只想原型化)。

当您修改字段(如freeform_data)的内容时,您需要通知Mongoose您已通过在修改过的文档上调用
markModified(path)
或随后的
保存来更改其值()
call不会保存它

例如:

user.freeform_data = { foo: 'bar' };
user.markModified('freeform_data');
user.save();
Mongeese :mongoose多数据库助手/黑客模块


免责声明:我想在同一个应用程序中连接两个MongoDB实例,但放弃了。所以我没有尝试过。

非常感谢-这正是我想要的!还发现了一些关于这个主题的讨论:一般来说,指向工具或库的链接,或者如果可能的话,上面的所有内容。这与最初的问题有什么关系?我准备回答如果您提供相关解释,请对此进行投票。