我有一个具有多个索引的集合,并且我经常需要将一些数据推送到该集合的数组中。我试图去通过MongoDB的文件,但最好我能得到了,
对于插入和更新没有索引字段,稀疏索引开销小于非稀疏索引。此外,对于非稀疏索引,不更改记录大小的更新具有较少的索引开销。
我意识到稀疏索引和非稀疏索引的不同之处,并且稀疏索引的开销会更小。
但是为什么即使我在更新我的文档中的一个未索引字段时,为什么所有其他索引都必须更新!是否因为每个索引都具有相同的数据并且所有数据都必须更新?
我的文档
var sample = new Schema({
***
student_list: [ {type :Schema.Types.Mixed}],
location: [ {type :Schema.Types.Mixed}],
****
});
student_list.studID will be indexed
{studID:1,city:M,Time:"... e}
现在我不得不经常更新位置字段。查询
db.sample.find({student_list.studID:"studid"})
db.sample.find({student_list.studID:"studid", student_list.city:"M"})
all using student_list_studId_1 index
是这种做法是罚款还是要我创建了一个差异收集和与每一个学生名单作为一个单独的文档,(每个样品DOC将有多个学生ID,它可以跨越差异样本文档是常见的)
mongo的哪个版本?你使用什么类型的存储引擎? – profesor79
现在MLAB免费计划 – Bikash
沙盒\t使用mongo 3.0.x – profesor79