从MongoDB shell生成带有新GUID的新行

时间:2012-04-24 04:58:40

标签: mongodb mongodb-shell nosql

我在带有GUID类型键的MongoDB集合中有一些文档,我希望能够使用shell将它们复制到具有新GUID的新行。我试过这个:

db.schedules.find().forEach(function(x) { 
    x._id = null; 
    db.schedules.save(x); 
});

我希望 _id 字段在我将其设置为null后自动生成,但当然这很天真。如果有的话,我怎样才能在shell中生成新的GUID?

更新

显然无法从shell生成GUID。我最后在C#中编写了一个迷你脚本,以便使用Mongo C#驱动程序。

1 个答案:

答案 0 :(得分:5)

请改为尝试:

x._id = new ObjectId();
db.schedules.insert(x);

你也可以这样做:

delete x._id;
db.schedules.insert(x);