Mongoose添加过滤器以插入node.js

时间:2015-04-02 02:52:44

标签: javascript node.js mongodb mongoose

我需要将一组数据插入到mongodb中。但是阵列中有一些数据已经存在于mongodb中。如何只插入mongodb中不存在的部分数据。结构如下所示:

[
    {
        "_id" : ObjectId("551ca2b973d1124a0445f491"),
        "url" : "http://ww1.sinaimg.cn/thumbnail/ddf0f092gw1eqqyykbezwg20bu06px6u.gif",
        "createdAt" : ISODate("2015-04-02T02:00:25.395Z"),
    },
    {
        "_id" : ObjectId("551ca2b973d1124a0445f492"),
        "url" : "http://ww2.sinaimg.cn/thumbnail/ddf0f092jw1eqqyz3c2bfg20b4068hdz.gif",
        "createdAt" : ISODate("2015-04-02T02:00:25.401Z"),
        "__v" : 0
    }
]

例如第一个文档的url已经存在于mongodb中,如何添加过滤器或将其从数组中排除,然后将其插入到mongodb中。

我目前的插入代码如下:

var imgDicts = [];
for (var i = 0; i < imgs.length; i++) {
    var img = imgs[i].img;
    var imgDict = {url: img, createdAt: Date.now()};
    imgDicts.push(imgDict);
};
console.log(imgDicts);
Img.collection.insert(imgDicts, function(err, docs){
    if (err) {
        callback(err, null);
    } else {
        callback(null, {message: 'success'});
    }
});

0 个答案:

没有答案