无法使用MongoDB输入多个记录

时间:2019-01-18 13:15:27

标签: node.js mongodb

我需要使用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数组中插入所有数据,并检查重复记录。

0 个答案:

没有答案