复制集合

时间:2016-03-01 14:31:18

标签: node.js mongodb database

我想复制集合中的一些数据。例如,这种查询的结果;

  db.collection("test").find({tag: "ABC"});

结果为;

{"_id" : "1","tag" : "ABC"}
{"_id" : "2","tag" : "ABC"}

我想复制这两个项目并使用新ID创建新项目。

我该怎么做?

1.我认为我可以做到;

db.collection("test").find({"tag": "ABC"}).each(function(err, item) {
   //insert each item with a new id

}

但是有更好的方法来复制带有查询的集合吗?

澄清;

因此我想拥有;

{"_id" : "v1_1","tag" : "ABC"}
{"_id" : "v1_2","tag" : "ABC"}
{"_id" : "1","tag" : "ABC"}
{"_id" : "2","tag" : "ABC"}

1 个答案:

答案 0 :(得分:0)

我只能想到这个解决方案:

db.collection("test").find({"tag": "ABC"}).each(function(err, items) {
    if(err) console.log("Error : " + err);
    if(items){
        db.collection("test").insert(items, function(err, items){
            if(err) console.log("Error: " + err);
            if(items) console.log("Data inserted successfully");
        });
    }
}

我不知道是否有比这更好的解决方案。