1

GUID タイプのキーを持つ MongoDB コレクションにいくつかのドキュメントがあり、シェルを使用してそれらを新しい GUID を持つ新しい行にコピーできるようにしたいと考えています。私はこれを試しました:

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

_idフィールドを null に設定した後、自動生成されることを期待していましたが、もちろんそれはナイーブでした。シェルで新しい GUID を生成するにはどうすればよいでしょうか?

アップデート

シェルから GUID を生成することは明らかに不可能です。Mongo C# ドライバーを使用するために、C# でミニスクリプトを作成することになりました。

4

1 に答える 1

6

代わりにこれを試してください:

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

次のこともできます。

delete x._id;
db.schedules.insert(x);
于 2012-04-24T05:06:57.270 に答える