我有一個具有多個索引的集合,並且我經常需要將一些數據推送到該集合的數組中。我試圖去通過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