【问题标题】:MongoDB - multiple boolean flags or single list of included values?MongoDB - 多个布尔标志或包含值的单个列表?
【发布时间】:2014-11-28 20:26:48
【问题描述】:

哪种做法更被接受:为可能“开”或“关”的多个(比如 3-7 个)事物中的每一个创建一个布尔字段,或者创建一个包含或不包含每个事物的单个字符串数组字段3-7 件事?

例子:

已存储 -> {绿色:真,蓝色:真,红色:假,黄色:真}
read -> if collection.find_one(_id).green: // 执行代码

对比

已存储 -> {颜色:['green', 'blue', 'yellow']}
read -> if 'green' in collection.find_one(_id).colors: // 执行代码

【问题讨论】:

  • 我认为这没有被接受的做法,本质上。第一种方式速度更快,扩展性更好,而且对于设置和检查标志的情况来说,它是一个更自然的模型。从问题中并不清楚,但如果颜色可以是任何颜色,而不仅仅是一些固定的集合,那么第二种方法会更好,因为在 MongoDB 中很难使用“数据即键”。

标签: mongodb


【解决方案1】:

这是一个基于意见的问题,但无论如何,假设如果在数组中找不到元素将被配置为 false 或 true(取决于条件),那么您的第二种方法会更好,但这种方法是我可以命名convention over configuration

【讨论】:

    猜你喜欢
    • 2019-04-17
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    相关资源
    最近更新 更多