1

あるコレクションのアイテムの値から別のコレクションのアイテムを指すことはできますか?

例:

db.col2.save( { value: 'test' } );
db.col1.save( { title: 'testing, something: [code to point to another collection's item] } );

db.col1.find().toArray()

[
        {
                "_id" : ObjectId([someobjectidhere]),
                "title" : "testing",
                "something": {
                        "value": "test"
                }
        }
]
4

2 に答える 2

6

はい、別のドキュメントを指すことはできますが、SQL とは異なり、結合を行って両方を同時に取得することはできません。したがって、2 回の取得を行う必要があります。1 つは最初のドキュメントを取得し (コード内の参照を抽出)、この参照を使用して 2 番目のドキュメントを取得します。

于 2012-12-28T11:28:57.127 に答える
2

MongoDB は結合をサポートしていません。MongoDB では、一部のデータは「非正規化」されるか、関連データと共にドキュメントに保存され、結合の必要がなくなります。ただし、場合によっては、関連情報を別のドキュメント (通常は別のコレクションまたはデータベース) に格納することが理にかなっています。

ここでDBRefのドキュメントを参照できます

于 2012-12-28T11:28:40.907 に答える