indexing - MongoDB如何索引数组?

标签 indexing mongodb

在 MongoDB 中,如果我要在字段 "color" 中存储一个数组(比如 ["red", "blue"]),它会索引 "red""blue" 所以我可以查询 "red",例如,或者在 make {"red", "blue"} 复合索引?

最佳答案

在索引数组时,MongoDB 会索引数组的每个值,以便您可以查询单个项目,例如“red”。例如:

> db.col1.save({'colors': ['red','blue']})
> db.col1.ensureIndex({'colors':1})

> db.col1.find({'colors': 'red'})
{ "_id" : ObjectId("4ccc78f97cf9bdc2a2e54ee9"), "colors" : [ "red", "blue" ] }
> db.col1.find({'colors': 'blue'})
{ "_id" : ObjectId("4ccc78f97cf9bdc2a2e54ee9"), "colors" : [ "red", "blue" ] }

有关更多信息,请查看 MongoDB 关于多键的文档:http://www.mongodb.org/display/DOCS/Multikeys

关于indexing - MongoDB如何索引数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4059126/

相关文章:

postgresql - postgres 部分索引

java - 哪种键/值对序列化格式最适合在 RDBMS 中进行索引?

c# - MongoDB 聚合函数到 C#

mongodb - 如何将 MongoDB 聚合用于通用集合操作(​​联合、交集、差异)

C -- 使用循环和索引填充 char * --- 不工作

mongodb - 如何在 MongoDB 集合中存储描述文档的元数据?

MySQL 索引不起作用

mysql - 服务器 Ajax/http 上的 Nodejs 调用不读取新数据 Mongodb

mongodb - 使用mupx将Meteor部署配置到Google Compute Engine VM

javascript - 异步/等待 - Node - Express - Mongo