【问题标题】:Create schemaless collection in mongoDB via mongoose通过 mongoose 在 mongoDB 中创建无模式集合
【发布时间】:2018-04-28 23:37:27
【问题描述】:

我有以下猫鼬模式记录:

var mongoose = require('mongoose');

module.exports = mongoose.model('lM', {
    any     :   mongoose.Schema.Types.Mixed,
},'mlr');

在我的代码中,我正在这样做:

var lm      = require('../server/models/records');

new lm().save(lmr);

因为 lmr 是一个 JSON 对象。

这将生成一个具有我提供的名称的 mongodb 数据库,但该集合中的记录仅包含:

_id: objectID
_v: 0

JSON 对象无处可见。如何在架构中的 any 包装器中获取 JSON 对象?

【问题讨论】:

    标签: json node.js mongodb mongoose schemaless


    【解决方案1】:
    var lm      = require('../server/models/records');
    
    new lm({'any':lmr}).save();
    

    如果你想跟踪错误,在 save() 方法中传递回调函数[可选]。

    new lm({'any':lmr}).save(function(err){
       if(err) {
          console.log(err) 
       }else{
          console.log('saved')
       }
    });
    

    要创建无模式集合,您必须设置 strict:false,默认情况下为 true。 strict 选项确保传递给模型构造函数但未在架构中指定的值不会保存到数据库中。

    严格选项docs

    【讨论】:

      猜你喜欢
      • 2016-12-05
      • 2012-10-31
      • 2021-01-13
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多