2014-10-03 49 views
0

哪一种更为公认的做法:为多个(比如说3-7)中的每一个(可能是“on”或“off”)制作布尔字段,或者制作一个包含或不包含3-7件事?MongoDB - 多个布尔标志或包含值的单个列表?

示例:存储

- > {绿色:真,蓝色:真,红色:假,黄色:真}
读 - >如果collection.find_one(_id)。绿色://执行代码

存储 - > {颜色:[ '绿色', '蓝色', '黄色']}
读 - >如果在collection.find_one '绿色'(_id).colors://执行代码

+0

我认为这不是一个公认的做法,坚持。第一种方式更快,更好,而且对于设置和检查标志的情况来说,它更自然。这个问题并不清楚,但如果颜色可以是任何颜色,而不仅仅是一些固定的颜色,那么第二种方法更好,因为在MongoDB中使用“data-as-keys”很困难。 – wdberkeley 2014-10-06 14:57:26

回答

0

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