1

明確にするために:サブドキュメントを含むドキュメントがあります。他のドキュメントと同じデータで新しいドキュメントを作成し、新しい ID を取得します。ただし、サブドキュメント配列をコピーすると、新しい ID が取得されません。

サブドキュメント ID は親ドキュメントに対してローカルですか? つまり、以下が問題になるでしょうか?

[
    {
        "__v": 1,
        "_id": "5214af03a9f53efa61000004",
        "name": "Foo",
        "subdocs": [
            {
                "thing": "value",
                "_id": "5214af03a9f53efa61000006"
            }
        ]
    },
    {
        "__v": 0,
        "name": "Foo",
        "_id": "5214af03a9f53efa61000014",
        "subdocs": [
            {
                "thing": "value",
                "_id": "5214af03a9f53efa61000006"
            }
        ]
    }
]
4

1 に答える 1

2

コレクションに直接格納されたドキュメントのフィールドには一意のインデックスがありますが、_id埋め込みドキュメントにはありません。また、埋め込みドキュメントに_idフィールドがあるという要件もまったくありません。あなたが提供した2つのドキュメントは、両方とも同じデータベースのMongoDBに保存するのに有効です(私はあなたの例を、コレクションに直接一緒に保存されている2つのドキュメントの配列として解釈しています)。

于 2013-09-19T21:58:30.950 に答える