3

Meteor(javascript Webフレームワーク)で外部キーのような動作を実現する方法を知っている人はいますか?

MongoDBの動作はsqlite3やMySQLとは異なると思います。また、外部キーを使用する以外にこれを実現する方法があることもどこかで読みました。

4

2 に答える 2

4

MongoDBはドキュメントストアであり、リレーショナルデータベースではありません。そのため、カスケード更新などの機能を備えた外部キーの概念はありません。ただし、_id(主キーのようなもの)によって、別のドキュメント内から1つのドキュメントを参照することはできます。したがって、次のようなドキュメントを含むUserコレクションを作成できます。

{
  _id: "myId",
  name: "Rahul",
  locationId: "some_location_id"
}

場所について詳しく知りたい場合は、Locationコレクションで、ユーザードキュメントに保存したlocationIdと等しい_idを持つドキュメントを検索できます。

これにアプローチする方法の詳細については、mongoの外部キーを参照してください。

于 2013-01-04T03:18:44.897 に答える
1

非リレーショナルデータベースとして、Mongoは従来のリレーショナルデータベースのような結合をサポートしていません。ただし、ドキュメントデータベースとして、Mongoではドキュメントのネストが可能であり、従来の結合なしで必要な機能を十分に実現できます。

とは言うものの、Meteorコアグループには、サブスクリプションへの参加を簡単に許可する計画と、従来のリレーショナルデータベースのサポートがあります。

于 2013-01-04T03:26:41.273 に答える