Couchdb 无法运行Mango查询
这是我的疑问:Couchdb 无法运行Mango查询,couchdb,mangodb,couchdb-mango,Couchdb,Mangodb,Couchdb Mango,这是我的疑问: { "selector": { "_id": { "$regex": "^rati" //need to find all documents in ratings partition } }, "fields": [ "MovieID", "UserId", "Rating" ], "limit": 10, "sort": [ { "
{
"selector": {
"_id": {
"$regex": "^rati" //need to find all documents in ratings partition
}
},
"fields": [
"MovieID",
"UserId",
"Rating"
],
"limit": 10,
"sort": [
{
"MovieID": "asc"
}
]
}
当我运行这个查询时,我有一个错误:运行查询时出错。原因:(无可用索引)此排序不存在全局索引,请尝试按排序字段编制索引。
如果我删除
"sort": [
{
"MovieID": "asc"
}
]
一切都很好。老实说,我快发疯了,我不明白我错在哪里
我尝试了以下查询:
{
"selector": {
"_id": {
"$regex": "^rati"
},
"MovieID": {
"$gte": 0
}
},
"fields": [
"_id",
"MovieID",
"UserId",
"Rating"
],
"limit": 10,
"sort": [
{
"_id": "asc"
}
]
}
但是是一样的。您需要为字段
MovieID
//Create via POST /db/_index HTTP/1.1 Content-Type: application/json
{
"index": {
"fields": ["MovieID"]
},
"name" : "MovieID-index",
"type" : "json"
}
之后,将字段MovieID
作为选择器的一部分
在这里试试这个:
{
"selector": {
"_id": {
"$regex": "^rati" //need to find all documents in ratings partition
},
"MovieID": {"$gte": 0} // include MovieID, If the ID is non-numeric change the selecor type.
},
"fields": [
"MovieID",
"UserId",
"Rating"
],
"limit": 10,
"sort": [
{
"MovieID": "asc"
}
]
}
您需要为字段
MovieID
//Create via POST /db/_index HTTP/1.1 Content-Type: application/json
{
"index": {
"fields": ["MovieID"]
},
"name" : "MovieID-index",
"type" : "json"
}
之后,将字段MovieID
作为选择器的一部分
在这里试试这个:
{
"selector": {
"_id": {
"$regex": "^rati" //need to find all documents in ratings partition
},
"MovieID": {"$gte": 0} // include MovieID, If the ID is non-numeric change the selecor type.
},
"fields": [
"MovieID",
"UserId",
"Rating"
],
"limit": 10,
"sort": [
{
"MovieID": "asc"
}
]
}
我不明白,我也犯了同样的错误。我尝试了另一种方法并编辑了问题当我尝试创建索引时,我得到了这样一个结果:“运行查询时出错。”。原因:(缺少所需密钥)缺少所需密钥:选择器'。在这一点上,我认为排序结果并不重要,我不明白,我得到了同样的错误。我尝试了另一种方法并编辑了问题当我尝试创建索引时,我得到了这样一个结果:“运行查询时出错。”。原因:(缺少所需密钥)缺少所需密钥:选择器'。在这一点上,我认为排序结果并不更重要