1
我在MongoDB集合中使用一个GUID类型的键创建了一些文档,我希望能够将它们复制到一个新行, GUID,使用shell。我尝试这样做:使用新的GUID从MongoDB shell生成一个新行
db.schedules.find().forEach(function(x) {
x._id = null;
db.schedules.save(x);
});
我预计_id场自动生成后,我将它设置为空,但当然,这是天真的。如果可以的话,我可以怎样在shell中生成一个新的GUID?
UPDATE
显然不可能产生从壳一个GUID。我最终在C#中编写了一个迷你脚本,以便使用Mongo C#驱动程序。
好了,这样的作品,但当然,ID是的ObjectId **的ObjectId( “4f963746ee633c3aa4a71a60”)**,而比C#GUID ** BinData(3,“+ Wgv1RJhr0K5/qbi3McvlQ ==”)**。我想这是C#驱动程序的一个特性,我将不得不为此任务使用它。 – McGarnagle 2012-04-24 05:18:46
是的,shell没有办法生成GUID。如果你有一个GUID值,你可以通过BinData封装器在你的shell中设置它(使用base 64),但是它不能为你生成新的GUID值。 (对不起,错过了你想要的GUID) – 2012-04-24 05:38:11
k,thx的澄清。 – McGarnagle 2012-04-24 05:54:31