错误的文档被添加到MongoDb

时间:2016-12-14 07:44:45

标签: node.js mongodb express mongoose

我一直在围绕这段代码,但我无法找到解决问题的方法。

我有mongoDb文档的以下架构。

{

    "brand" : "String",
    "series" : "String",
    "model" : "String",
    "deviceType" : "String",
    "progress" : "Number",
    "uploaded" : []

}

以下是我用于将文档添加到数据库的功能

var addData = function(details){
    console.log(details);
    var promise = new Promise(function(resolve, reject){
        var document = new Document({

            brand : details.brand,
            series : details.series,
            model : details.model,
            devicetype : details.devicetype,
            progress : 0,
            uploaded : []

        });

    //save the document into the database
    document.save(function(err, document){
        if(err){
            reject(err);
        }
        else{
            console.log('document added--' + document);
            console.log('document should be--' + details);
            resolve('Document added successfully');
        }

    });

})
return promise; 
}

我用来填充文档的详细信息对象如下所示

{ brand: 'HP',
  series: 'Elitebook',
  model: '8460P',
  devicetype: 'laptop',
  progress: 0,
  uploaded: [] }

但是添加的文档不符合架构,文档中缺少其中一个字段。有人可以告诉我哪里出错了。以下是要添加的文档。

document added--{ __v: 0,
  brand: 'HP',
  series: 'Elitebook',
  model: '8460P',
  progress: 0,
  _id: 5850f50f0a0d7f055c441b7c,
  uploaded: [] }

1 个答案:

答案 0 :(得分:2)

  • _id是添加到每个文档的MongoDB ID,以便可以引用它。
  • Mongoose添加了
  • __v用于文档的版本控制。
  • devicetype未添加到文档中,因为它不在您的模型中。您添加了deviceType,而不是devicetype。这些属性名称区分大小写。