Javascript 在添加到Mongoose MongoDB时过滤掉重复项
我的硬盘上有一个.json文件,大约有70个条目 这是我正在使用的模型: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,
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);
}
});
}
}
参考:谢谢!当然这不是猫鼬的特征,过滤可以提前完成。