我需要使用MongoDB输入多个记录。我在下面解释我的代码。
var docs=[
{
"zone":"NORTH",
},
{
"zone":"NORTH",
},
{
"zone":"EAST",
},
{
"zone":"EAST",
},
{
"zone":"SOUTH",
},
{
"zone":"SOUTH",
},
{
"zone":"WEST",
}
]
我正在插入如下数据。
var zoneSchema=new Schema({
zone:String
})
var zone = db.model("Zone", zoneSchema);
for(var i=0;i<docs.length;i++){
var datazone={
zone:docs[i]['zone']
}
console.log('zone',docs[i]['zone']);
zone.collection.countDocuments({'zone':docs[i]['zone']},function(err2,zdocs){
if (!err) {
//console.log('zdocs',zdocs);
if (zdocs > 0) {
console.log('zoneif',docs[i]['zone']);
}else{
zone.collection.insert(datazone,function(zerr1,zuse){
if (!zerr1) {
if (zuse) {
var zid=zuse.insertedIds[0];
console.log('z',zid);
//state.collection.find({'zone_id':})
}
}
})
}
}
})
}
在这里,我正在检查重复记录并插入记录,但在我的情况下,它仅插入数组的最后一个数据。在这里,我需要从docs
数组中插入所有数据,并检查重复记录。