【发布时间】: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