0

次のような都市と町を持つ広告をいくつか保存する必要があります。

ad
 |- title
 |- desc
 |- country
 |- city
...

都市や町ごとに広告を見つけることができます。では、それらをどのようにデータベースに保存すればよいでしょうか? MySQL では id を使用しましたが、MongoDB ではこれをどのように作成すればよいかわかりません。

編集:次のクエリを実行する必要があります: 1. ある町のすべての広告を教えてください。2. 国別にすべての広告を表示する 3. 都市と国別にすべての広告を表示する

4

1 に答える 1

0

広告をクエリする方法によっては、広告をそのままにしておいても問題ない場合があります。現在のスキーマでは、次のようにクエリを実行できます (nodejs の例):

orm.Ad.find({city:"New York"}).exec(function(error, ads) {   });

これにより、都市として「ニューヨーク」を含むすべての広告が返されます。既知の都市や国ごとに別のコレクションがあるとあなたが言ったことから、私には理由がわかりません。

編集: データを mongo に保存すると、項目に対して一意の ID が作成されます。これを行う必要はありません。

都市と国のすべての広告をクエリする場合は、クエリを次のように変更できます。

 orm.Ad.find({$and: city:"New York", country:"united states"}).exec(function(error, ads) {   });
于 2013-06-19T17:27:15.420 に答える