我相信至少有两种方法可以在mongodb文档中嵌入数据.在简化的情况下,我们可以这样:
{
'name' : 'bill',
'lines': {
'idk73716': {'name': 'Line A'},
'idk51232': {'name': 'Line B'},
'idk23321': {'name': 'Line C'}
}
}
Run Code Online (Sandbox Code Playgroud)
并作为一个数组:
{
'name' : 'bill',
'lines': [
{'id': 'idk73716', 'name': 'Line A'},
{'id': 'idk51232', 'name': 'Line B'},
{'id': 'idk23321', 'name': 'Line C'}
]
}
Run Code Online (Sandbox Code Playgroud)
正如您在此用例中所看到的,保持每行的ID非常重要.
我想知道这两种模式之间是否有利弊.特别是当涉及到使用索引时,我感觉第二个可能更容易使用,因为可以在'lines.id'或甚至'lines.name'上创建索引来搜索所有文档中的id或名称.我没有找到任何工作解决方案来索引第一个例子中的id('idk73716'等).
如果您有这样的用例,通常首选使用第二种方法吗?