Kyl*_*son 6 php multidimensional-array mongodb mongodb-query
我有mongodb中的数据是这样的.有一群猫.猫被分为不同的类别,排名为1到100.一只猫可能位于2个或更多类别中.有1000种类别.
收集:"猫"
钥匙:
rank.category1 = 1; // ranked 1st in category #1
rank.category2 = 13; // ranked 13th in category #2
rank.category425 = 50; // ranked 50th in category #425
Run Code Online (Sandbox Code Playgroud)
问题:如果我想做一个find()来返回在"category2"中具有"rank"的所有"cat",其中$ exists =>"rank.category2"索引这个的正确方法是什么?我可以在"排名"集合上放一个简单的升序索引,还是需要所有1000多个类别*键的索引?是否有更好的方法来存储此信息或更简单的方法来索引它?
怎么样 ...
rank.categories = [1, 2, 425];
rank.category = {
1 : 1,
2 : 13,
425 : 50
}
Run Code Online (Sandbox Code Playgroud)
你可以索引db.collection.ensureIndex({"categories":1}).现在,您可以搜索类别并在找到每个类别时获得每个类别的排名.
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |