Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何从多个集合构造关系数据_Mongodb_Meteor - Fatal编程技术网

Mongodb 如何从多个集合构造关系数据

Mongodb 如何从多个集合构造关系数据,mongodb,meteor,Mongodb,Meteor,我刚开始写应用程序,我已经创建了一个应用程序,我需要每个用户的国家/城市/州数据,这样他们就可以让人们知道他们住在哪里 我一直在搜索包含这些数据的数据集以及如何使用它们 我能找到的所有数据都是关系结构的,所以城市都有州和国家的ID 我知道可以编写查询,将这些数据收集成某种格式,让他们选择他们居住的国家/州/省和城市(尽管我需要了解如何选择),但我想知道是否有更好的方法来存储数据,这样我就不必为了获取数据而跳转。我希望使用Meteor的简易搜索包来实现这一点 我正在处理的当前数据集来自Geobyt

我刚开始写应用程序,我已经创建了一个应用程序,我需要每个用户的国家/城市/州数据,这样他们就可以让人们知道他们住在哪里

我一直在搜索包含这些数据的数据集以及如何使用它们

我能找到的所有数据都是关系结构的,所以城市都有州和国家的ID

我知道可以编写查询,将这些数据收集成某种格式,让他们选择他们居住的国家/州/省和城市(尽管我需要了解如何选择),但我想知道是否有更好的方法来存储数据,这样我就不必为了获取数据而跳转。我希望使用Meteor的简易搜索包来实现这一点

我正在处理的当前数据集来自Geobytes GeoWorldMap

数据集示例如下所示

Countries
"CountryId","Country","FIPS104","ISO2","ISO3","ISON","Internet","Capital","MapReference","NationalitySingular","NationalityPlural","Currency","CurrencyCode","Population","Title","Comment"
1,"Afghanistan","AF","AF","AFG","4","AF","Kabul ","Asia ","Afghan","Afghans","Afghani ","AFA",26813057,"Afghanistan",""
2,"Albania","AL","AL","ALB","8","AL","Tirana ","Europe ","Albanian","Albanians","Lek ","ALL",3510484,"Albania",""

State (Region File)

"RegionId","CountryId","Region","Code","ADM1Code"
1,14,"Victoria","VI","AS07"
2,14,"Tasmania","TS","AS06"
3,14,"Queensland","QL","AS04"
4,14,"New South Wales","NS","AS02"

City

"CityId","CountryID","RegionID","City","Latitude","Longitude","TimeZone","DmaId","Code"
42231,1,833,"Herat","34.333","62.2","+04:30",0,"HERA"
5976,1,835,"Kabul","34.517","69.183","+04:50",0,"KABU"
42230,1,852,"Mazar-e Sharif","36.7","67.1","+4:30",0,"MSHA"
42412,2,983,"Korce","40.6162","20.7779","+01:00",0,"KORC"
5977,2,1011,"Tirane","41.333","19.833","+01:00",0,"TIRA"
我已经将数据导入了三个独立的集合,但我不确定这是否是最好的方法。由于城市数据集相当大,我希望能够过滤国家,然后是州/省,最后是那里的城市


如果您打算在手机或慢速连接上使用此应用程序,请注意以下几点: 1) 请注意订阅中包含的内容。您不希望或不需要客户端上的整个数据集。您可能根本不想订阅此数据。 2) 你提到过过滤。Meteor(以及MongoDB)不会自动添加索引。因此,如果您知道将按CountryID或RegionID筛选城市,则需要自己设置索引

我认为您正在采用最好的方法来表示Mongo/Meteor中的数据。您肯定不希望有一个名为“Locations”的集合,其中包含具有“Cities”子列表的Regions子列表的国家


但是,您有什么理由需要自己主持吗?由于新的城市和地区被频繁地添加,这听起来像是一场噩梦。你能使用第三方服务吗?这将允许您直接从客户端调用或执行服务器端缓存。然后,您可以允许服务处理过滤功能/复杂性。这是我将研究的第一种方法,如果没有经济高效的解决方案,我会选择亲自主持。

感谢您的回复。目前我没有预算使用付费托管服务。除非你知道我能把这些信息输入我的申请表的方法?我也希望在移动应用程序中使用此功能,因此您对索引的评论非常贴切。我没有在任何产品中使用过此功能,但看起来您每天可以免费使用<100000次对google的place自动完成API的请求。见: