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

McG*_*gle 1 mongodb nosql mongodb-shell

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

db.schedules.find().forEach(function(x) { 
    x._id = null; 
    db.schedules.save(x); 
});
Run Code Online (Sandbox Code Playgroud)

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

UPDATE

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

Eve*_*man 5

试试这个:

x._id = new ObjectId();
db.schedules.insert(x);
Run Code Online (Sandbox Code Playgroud)

你也可以这样做:

delete x._id;
db.schedules.insert(x);
Run Code Online (Sandbox Code Playgroud)