太多字段要索引怎么办

2025-04-27 20:14:46
推荐回答(1个)
回答1:

一种解决索引多列问题的方法是将“属性:值”对放在一个子对象列表中。这个方式适用于v2.2和v2.4版本。建立如下的文档:

> for (var i = 0; i < 5000000; ++i) { var arr = []; for (var j = 0; j < 10; ++j) {
var doc = {}; doc["prop" + j] = Math.floor(Math.random() * 1000); arr.push(doc) };
db.generic2.insert({props: arr}) }
> db.generic2.findOne()
{
"_id": ObjectId("515e5e6a71b0722678929760"),
"props": [
{
"prop0": 881
},
{
"prop1": 47
}, ...
{
"prop9": 717
}
]
}