我需要存储一些广告,每个广告都有城市和城镇,如下所示:
ad
|- title
|- desc
|- country
|- city
...
我可以按城市和/或城镇查找广告。那么我应该如何将它们存储在数据库中呢?在 MySQL 中我使用了 id,但我不知道我应该如何在 MongoDB 中进行此操作?
编辑:我需要执行以下查询: 1. 给我某个城镇的所有广告。2. 给我某个国家的所有广告 3. 给我所有城市和国家的广告
我需要存储一些广告,每个广告都有城市和城镇,如下所示:
ad
|- title
|- desc
|- country
|- city
...
我可以按城市和/或城镇查找广告。那么我应该如何将它们存储在数据库中呢?在 MySQL 中我使用了 id,但我不知道我应该如何在 MongoDB 中进行此操作?
编辑:我需要执行以下查询: 1. 给我某个城镇的所有广告。2. 给我某个国家的所有广告 3. 给我所有城市和国家的广告
取决于您打算如何查询广告,保持原样可能没问题。使用目前的模式,您可以执行这样的查询(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) { });