我需要存储一些广告,每个广告都有城市和城镇,如下所示:
ad
|- title
|- desc
|- country
|- city
...
我可以按城市和/或城镇查找广告。那么我应该如何将它们存储在数据库中?在MySQL中,我使用了id,但我不知道如何在MongoDB中创建它?
编辑:我需要执行以下查询: 给我一些城镇的所有广告。 2.给我一些国家的所有广告 3.按城市和国家/地区向我提供所有广告
答案 0 :(得分: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) { });