gpt4 book ai didi

javascript - meteor 数据模型

转载 作者:行者123 更新时间:2023-12-03 10:30:11 27 4
gpt4 key购买 nike

我有两个系列,购物中心和商店。我想保留它们的位置信息(如纬度和经度)。对于商场来说,这很容易,因为它们只有一个位置信息,所以我可以定义纬度和经度属性。但对于商店来说,它们可以在商场内,也可以在街道上,而且有多个地点。我想保持商店和购物中心之间的关系,以及它们位于购物中心内的地方。我想将位置保留为单独的集合(至少对于商店而言),否则当我列出商店时数据会非常重。仅在必要时才会显示(下载)所选商店的位置。那么问题来了,位置采集的数据模型应该如何?我正在考虑这样的事情,但我不认为这是最好的主意。为了简单起见,我考虑将商场的纬度、局域网数据直接保留在其集合中(顺便说一句,我使用简单的模式):

ShopLocations = new Mongo.Collection('shoplocations');

var shopsLocationsSchema = new SimpleSchema ({
name: {
type: String,
label: 'Location Name',
max: 200
},

inMall: {
type: Boolean,
label: 'Is it in the mall?',
optional: true
},

mallId: {
type: String,
label: 'Mall ID',
optional: true
},

latitude: {
type: Number,
label: 'Latitude',
decimal: true,
optional: true
},

longitude: {
type: Number,
label: 'Latitude',
decimal: true,
optional: true
}
});

ShopLocations.attachSchema(shopsLocationsSchema, {replace: true});

最佳答案

我认为您有三个集合:购物中心、商店和地点。

购物中心和商店都可以有地点,即使购物中心只有一个。

位置对应于商店、购物中心或购物中心中的商店。

我会将位置简单地建模为 storeId、mallId、纬度、经度,然后使用不存在的 storeId 来表示该位置仅属于购物中心。与商店对应的位置文档至少具有 storeId,但如果该位置位于购物中心内,则仅具有 mallId

MongoDB 的好处是您可以查询键及其值是否存在。例如:

查找所有购物中心的位置:

Locations.find({mallId: {$exists: true}, storeId: {$exists: false}});

查找不在商场中的所有商店的位置:

Locations.find({mallId: {$exists: false}, storeId: {$exists: true}});

查找商场中所有商店的位置:

Locations.(mallId: {$exists: true}, storeId: {$exists: true}});

关于javascript - meteor 数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29254473/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com