【问题标题】:NoSQL strategies for a countries referential [duplicate]国家参考的 NoSQL 策略 [重复]
【发布时间】:2016-07-21 18:15:59
【问题描述】:

我是 NoSQL 的新手,我喜欢它的工作方式,但我在思考 NoSQL 时遇到了一些困难。我想做一个具有多层的地方参考: - 国家 - 城市 - 地点

很难不将其视为关系数据库。那么什么是 NoSQL 策略呢?我的第一种方法是使用这种格式创建一个名为“place”的表:

{
   placename: String,
   placelongitude: Number,
   placelatitude: Number,
   placeparent: String
}

但我认为这不是 NoSQL 的最佳方式。我有这样的想法:

{
   countryname: String,
   cities: [{
      cityname: String,
      places: [{
         placeid: Number,
         placename: String,
         placelongitude: Number,
         placelatitude: Number
      }],
   }]
}

你怎么看? 感谢您的帮助。

【问题讨论】:

  • 如果place 有一个城市和国家,为什么不创建place 的文档呢?
  • 因为如果理解正确,在 NoSQL 中无法加入?
  • $lookup 确实存在于 mongo 3.2
  • 好吧,我还没有看到这个功能。谢谢。

标签: mongodb nosql


【解决方案1】:

places 存储在您的收藏中,并将citycountry 作为键

{
    placeid: Number,
    placename: String,
    placelongitude: Number,
    placelatitude: Number,
    cityname: String,
    countryname: String
}

【讨论】:

  • 哦,好吧,但是重复不是问题吗?如果我想在我的城市或国家/地区添加一些字段,例如大小或其他,我将不得不将此信息重复到?或者,如果需要,我可以将城市名称与城市标识符一起获取其余信息?
  • 是的,这是使用基于文档的数据库的权衡。您的读取速度变得更快,但由于数据未标准化,您的更新性能并不好。
  • 好的,谢谢,我会尝试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多