0

私の MongoDB コレクションには、それぞれが子ドキュメントの配列を含むことができるドキュメントがあります。各子ドキュメントには、後で置き換えたり更新したりできるように、それを一意に識別する方法が必要です。

セット内の子ドキュメントごとに一意の値を生成するように MongoDB に指示するにはどうすればよいですか?

C# MongoDB ドライバーを使用しています。

{
    _id: 'gd37dg67dg63782gd78',
    name: 'foo'
    docs: [
        {
            idvalue: 'autogenerated',
            y: 10
        },
        {
            idvalue: 'autogenerated',
            y: 10
        },
        {
            idvalue: 'autogenerated',
            y: 10
        },
    ]
}
4

1 に答える 1

3

MongoDB 自体はそれを行いませんが、多くのドキュメント マッパーがサブドキュメントに対して行うことを行い、それらObjectIdを保存する前に値を割り当てることができます。これにより、C# ドライバーからこれらの各フィールドに十分に一意な新しい値が取得されます。

ObjectId.GenerateNewId()

ドキュメント マッパーを使用している場合は、「ネストされたドキュメント」がどの程度サポートされているかを確認してください。少しの労力でこれを行う可能性は十分にあります。

于 2012-07-18T05:58:04.580 に答える