当您可以简单地使用数组数据类型时,使用嵌入式文档的优缺点是什么?两者看起来都和我很相似(而且我无法通过谷歌搜索在网上找到任何信息)。请举例说明!

最佳答案

在数据结构方面,您可以将嵌入式文档看作hashes或字典。而数组是值的列表。
在MongoDB中嵌入文档:
嵌入的文档具有命名字段,并且可以嵌入其他文档以进行丰富的数据表示
您可以使用dotted notation直接引用字段。
在嵌入的文档字段上创建索引仅对该字段进行索引
您可以使用field selection检索字段的子集。
使用MongoDB中的数组:
您可以使用operators操作数组,例如$push$pop$pull$addToSet
可以使用$all$in$nin等运算符匹配数组值。
您也可以使用multikey indexes
在数组元素上创建索引将为数组的每个元素建立索引。
您可以使用$slice operator检索数组的子集。
Mongoid的relations概念表达了嵌入文档和数组的几种不同组合:
嵌入一个-单个嵌入文档
嵌入多个-嵌入文档的数组

关于mongodb - 在mongoid中使用嵌入式文档与数组的优缺点是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12501934/

10-13 04:24