Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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_Express_Mongoose_Database Design_Mongoose Schema - Fatal编程技术网

Mongodb 如何为多个城市创建模式设置?

Mongodb 如何为多个城市创建模式设置?,mongodb,express,mongoose,database-design,mongoose-schema,Mongodb,Express,Mongoose,Database Design,Mongoose Schema,我要用mern堆栈创建一个to/do应用程序,我想在应用程序中有多个国家和城市 对于项目的设计,我是否应该创建一个带有国家名称和城市数组的主模式,并为post类型嵌入以下数组 然后我可以在x个国家使用这个模式,因此当我需要为用户加拿大、温哥华加载帖子时,帖子将存储在一个非常特定的位置,使得搜索非常容易 如果您有这种设置的经验,请提供建议,谢谢。尝试创建mongoose模式,如下所示 这将有助于满足您的要求 //Country Schema var mongoose = require('mong

我要用mern堆栈创建一个to/do应用程序,我想在应用程序中有多个国家和城市

对于项目的设计,我是否应该创建一个带有国家名称和城市数组的主模式,并为post类型嵌入以下数组

然后我可以在x个国家使用这个模式,因此当我需要为用户加拿大、温哥华加载帖子时,帖子将存储在一个非常特定的位置,使得搜索非常容易


如果您有这种设置的经验,请提供建议,谢谢。

尝试创建mongoose模式,如下所示

这将有助于满足您的要求

//Country Schema
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Country = new Schema({
    CountryID: { type: String, default: "" },
    Country_Name: { type: String, default: "" },
    Country_Code: { type: String, default: "" },//Mobile
    Country_Currency: { type: String, default: "" },//Business or Ecommerce
    location: { //for Map Purpose
        longitude: Number,
        latitude: Number
    },
    Point: { type: [Number], index: '2d' },
}, { collection: 'Country' });
Country.index({ Point: '2dsphere' });
module.exports = mongoose.model('Country', Country);


//City Schema
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var City = new Schema({
    CityID: { type: String, default: "" },
    CountryID: { type: String, default: "" },
    City_Name: { type: String, default: "" },
    location: { //for Map Purpose
        longitude: Number,
        latitude: Number
    },
    Point: { type: [Number], index: '2d' },
}, { collection: 'City' });
City.index({ Point: '2dsphere' });
module.exports = mongoose.model('City', City);

先生,我们能在国内筑巢吗?例如,如果我要制作5个国家/地区的应用程序,我可以创建5个模式,然后对于城市数组,我可以列出用户可以选择的所有城市,因此,当他们创建帖子时,如果他们输入我的应用程序,选择我来自加拿大温哥华,那么对于帖子页面,我将使用加拿大模式,并将自动填充他们的城市,因此,他们可以填写表格的其余部分,当我获得加拿大路线时,我们可以获得加拿大收集,并获得用户想要的所有城市,我正在尝试针对许多城市进行优化。对于我的需求,它只是城市和国家,然后我可以在这些位置内搜索任何特定需求,但是我想让搜索更容易,所以如果我有100万个不同城市的帖子,我可以让它更有效。使用唯一的国家id插入加拿大国家内部数据模型。使用加拿大国家id,添加城市内部城市示例多伦多,使用唯一的城市id将城市作为我们的模式不是更好吗,我在考虑也许不一定要有国家,然后是nest city,因为对于mongodb来说,在40个城市中搜索1个城市要比在一个国家模型中搜索10个城市中的1个容易,这有意义吗?