【发布时间】:2016-09-25 02:53:56
【问题描述】:
所以我有一些公司中很多人的数据,例如他们的姓名、年龄和性别。我将把他们的信息存储在 MongoDB 中。将他们的信息存储在大量文档中或作为一堆单独的对象存储在一个文档中对我来说会更好吗?是否存在任何性能或内存问题会使一种方法优于另一种方法?
存储数据的示例方法:
大量文档
{
_id: ObjectId('1'),
name: 'Bart',
age: 10,
gender: 'Male'
},
{
_id: ObjectId('2'),
name: 'Lisa',
age: 8,
gender: 'Female'
}
一个文档中有很多对象
{
_id: ObjectId('1'),
'Bart': {
age: 10,
gender: 'Male'
},
'Lisa': {
age: 8,
gender: 'Female'
}
}
对于任何想知道我会使用 Mongo 的投影参数查询第二个示例的人,例如
db.families.find({_id:ObjectId('1')},{_id:0,'Bart':1});
另外,我问这个的唯一原因是因为我打算在这里存储来自多家公司的人员。它们将通过集合和作为文档单独列出的人员(如第一个示例)或在文档中单独列出,并将人员单独列为公司文档中的对象。
【问题讨论】:
-
第一个很好。 (很多文档),因为“第二个”可能会发生内存问题,并且您无法在更多字段中创建索引,因为对象名称是动态的(Bart,Lisa),并且排序也不能这样做..我的建议是第一个一个是最好的
标签: javascript mongodb optimization query-optimization