避免在没有数据的情况下插入mongoDB

时间:2016-11-07 05:47:18

标签: mongodb

如果没有数据,如何避免插入mongoDB。因为每次我使用insert命令都会创建没有数据的_id。 示例:db.collection_name.insert({}) 正在文档中创建_id。如何避免它。

2 个答案:

答案 0 :(得分:0)

您可以使用mongoose ORM并定义验证器,如:

var UserSchema = new Schema({
  name: { type: String, required: true }
});

这将生成如下所示的错误消息:

名称:

  { message: 'Validator "required" failed for path name',
     name: 'ValidatorError',
     path: 'name',
     type: 'required' } }

答案 1 :(得分:0)

MongoDB 3.2集成了架构验证。 所以你可以检查是否存在“name”属性,如果没有,则验证失败,然后根本不插入Document。

https://docs.mongodb.com/v3.2/core/document-validation/

db.createCollection( "contacts",
   { validator: { $or:
      [
         { phone: { $type: "string" } },
         { email: { $regex: /@mongodb\.com$/ } },
         { status: { $in: [ "Unknown", "Incomplete" ] } }
      ]
   }
} )