在MongoDB中创建文本索引时出错

时间:2016-01-28 13:54:16

标签: mongodb indexing

db.inventory.createIndex(
    {'category.name': 'text',
     'brand.name': 'text', 
     'name': 'text', 
     'store.name': 'text', 
     'collection_1' : 'text', 
     'sku' : 'text', 
     'parent_sku' : 'text' 
})

使用此命令时会收到类似"异常的错误:从索引名称生成的命名空间名称"

我正在使用这个,因为我在我的应用程序中创建了完整的文本索引。 我需要搜索索引的许多字段.. 那我该怎么办...... ????

1 个答案:

答案 0 :(得分:1)

当自动生成的索引名称太长时,通常会出现此错误。索引名称是通过连接不同的列名生成的,但根据documentation,长度限制为125个字符。您可以通过在创建索引时手动指定较短的索引名称来解决此错误:

db.inventory.createIndex({
  'category.name': 'text',
  'brand.name': 'text',
  'name': 'text',
  'store.name': 'text',
  'collection_1': 'text',
  'sku': 'text',
  'parent_sku': 'text'
 }, 
 {
    name: "myIndex1"
 }
)