2013-06-19 29 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

相关问题