【发布时间】:2013-03-30 08:56:18
【问题描述】:
我有以下疑问:
{ "loc" : { "$near" : [ 32.08 , 34.779] , "$maxDistance" : 0.04499640028797696} , "isCreated" : true , "loc.venueName" : null}
排序方式:
{"lastActiveTime":-1}
限于 100 个文档。
loc - 包含键 (lat,lon,venueName) 的嵌入文档
isCreated - 布尔值
lastActiveTime - 日期
我遇到了异常:
org.springframework.data.mongodb.UncategorizedMongoDbException: sort() 没有索引的数据太多。添加索引或指定更小的限制;
我尝试了各种索引变体,复合和非复合,但我仍然遇到上述异常,尝试...
{'loc':'2d', 'lastActiveTime':-1}
还有:
{'lastActiveTime':-1}
我需要在文档中创建哪些索引才能使查询成功?
MongoDB 版本是 2.0.6
这是示例文档(带有相关键):
{
"_id" : "5d5085601208aa918bea3c1ede31374d",
"gender" : "female",
"isCreated" : true,
"lastActiveTime" : ISODate("2013-04-08T11:30:56.615Z"),
"loc" : {
"lat" : 32.082230499955806,
"lon" : 34.813542940344945,
"locTime" : NumberLong(0)
}
}
【问题讨论】:
-
你试过了吗,
{loc: '2d', isCreated: 1, loc.venueName: 1, lastActiveTime: -1}? -
您可以在您的问题中添加示例文档吗?只是为了确保查询适合开始。
-
添加了示例文档..在该文档中 loc.venueName 为空/不存在
标签: mongodb exception indexing