Javascript 在添加到Mongoose MongoDB时过滤掉重复项

Javascript 在添加到Mongoose MongoDB时过滤掉重复项,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我的硬盘上有一个.json文件,大约有70个条目 这是我正在使用的模型: var tweetModel = mongoose.model('tweet', { "correct":Boolean, "text": String, "id":{type:String, unique:true}, "user":{ "atNamn":String, "namn":String, "bild":String,

我的硬盘上有一个.json文件,大约有70个条目

这是我正在使用的模型:

var tweetModel = mongoose.model('tweet', {
    "correct":Boolean,
    "text": String,
    "id":{type:String, unique:true},
    "user":{
        "atNamn":String,
        "namn":String,
        "bild":String,
        "id":String
}
});
一些tweet是重复的,因此共享相同的“id”属性。我想在添加时过滤掉这些。目前,我只是像这样浏览JSON

var JSONData = require("../public/data/jsondata")
for(key in JSONData){
    new tweetModel(JSONData[key]).save(function(err,doc){
        if(err){console.log(err)}
        else{
            console.log(doc);
        }
    })
}

如果我运行一次,它们都会被添加。如果我再做一次,就会抛出重复错误。我希望它在添加之前检查重复项

使用一个简单的JS对象跟踪您已经看到的
id
值:

var seenIds = {};
for(key in JSONData){
    var json = JSONData[key];
    if (!seenIds[json.id]) {
        seenIds[json.id] = true;
        new tweetModel(json).save(function(err,doc){
            if(err){console.log(err)}
            else{
                console.log(doc);
            }
        });
    }
}

参考:谢谢!当然这不是猫鼬的特征,过滤可以提前完成。