【问题标题】:Copy some items in the collection复制集合中的一些项目
【发布时间】:2017-07-30 13:26:32
【问题描述】:

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

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

结果是;

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

我想复制这 2 个项目并创建具有新 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"}

【问题讨论】:

  • 不太清楚你想在这里做什么;你要复制一些数据,什么数据?您的意思是复制到另一个集合吗?
  • 没有。在同一个集合中。我想复制集合中的项目。

标签: node.js mongodb database


【解决方案1】:

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

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");
        });
    }
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 2023-03-21
    • 2019-07-12
    • 1970-01-01
    • 2018-09-21
    • 2011-10-13
    相关资源
    最近更新 更多