2013-06-19 30 views
0

我需要存儲一些廣告他們每個人都有城鎮類似如下:我應該如何與國家和城市工作在MongoDB中

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

我可以找到城市和/或城鎮的廣告。那麼我應該如何將它們存儲在數據庫中?在MySQL中,我使用了id,但是我不知道我應該如何在MongoDB中做到這一點?

編輯:我需要執行以下查詢: 1.給我一些城鎮的所有廣告。 2.給我所有國家的廣告 3.給我所有的城市和國家的廣告

回答

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) { }); 
+0

我已經編輯我添加的代碼片段另一個返回指定的唯一結果的問題 – Erik

+0

城市和國家。希望這可以幫助。 – ninehundredt

+0

謝謝,但我不明白我怎麼能得到我的表格列出所有城市和國家。我是否需要擁有城市和國家館藏? – Erik

相關問題