nano.request() 通过查询 couchDB 查找
nano.request() find by query couchDB
我需要函数 nano.request() 方面的帮助。我尝试使用 cloudant (couchdb) 查询通过请求获取数据,但我不知道如何制作它并且我在任何地方搜索。
我需要帮助 :P 如何在 nano.request 函数中按查询搜索?
谢谢
var query = {
"selector": {
"_id": {
"$gt": 0
},
"Campaign_Id":9999
},
"fields": [
],
"sort": [
{
"_id": "asc"
}
]};
cloudant.request({db: 'campaigns',
method: 'get',
doc: '_all_docs',
qr: query
},function (err,data){
console.log(err);
console.log(data);
});
var testRequest = function(query){
cloudant.request({db: 'campaigns',
method: 'POST',
doc: '_find',
body: query
},function (err,data){
console.log(data);
});
}
var peticion = {
"selector": {
"crazy": true,
"_id": {
"$gt": 0
}
},
"fields": [
"_id",
"_rev"
],
"sort": [
{
"_id": "asc"
}
]
}
testRequest(peticion);
您的查询看起来不错,但如 Rho 所说,您需要在字段上建立索引才能使用 Cloudant 查询。默认情况下,您在 _id
.
中有主索引
您可以在 Cloudant 仪表板中构建索引。这是我的样子:
这是构建该索引的语法:
{
"index": {
"fields": [
"Campaign_Id"
]
},
"type": "json"
}
这个想法是让它比定义 JavaScript MapReduce 视图简单一些。 Cloudant Query 还可以在您构建 "type": "text"
索引后进行即席查询,但该索引的成本更高。有关更多信息,请访问 https://cloudant.com/blog/cloudant-query-grows-up-to-handle-ad-hoc-queries/
这并不是您问题的确切答案,而只是一个建议。为什么不尝试使用搜索索引来查询?我发现他们真的很棒。我已经从视图和查询转移到搜索索引。
我需要函数 nano.request() 方面的帮助。我尝试使用 cloudant (couchdb) 查询通过请求获取数据,但我不知道如何制作它并且我在任何地方搜索。 我需要帮助 :P 如何在 nano.request 函数中按查询搜索?
谢谢
var query = {
"selector": {
"_id": {
"$gt": 0
},
"Campaign_Id":9999
},
"fields": [
],
"sort": [
{
"_id": "asc"
}
]};
cloudant.request({db: 'campaigns',
method: 'get',
doc: '_all_docs',
qr: query
},function (err,data){
console.log(err);
console.log(data);
});
var testRequest = function(query){
cloudant.request({db: 'campaigns',
method: 'POST',
doc: '_find',
body: query
},function (err,data){
console.log(data);
});
}
var peticion = {
"selector": {
"crazy": true,
"_id": {
"$gt": 0
}
},
"fields": [
"_id",
"_rev"
],
"sort": [
{
"_id": "asc"
}
]
}
testRequest(peticion);
您的查询看起来不错,但如 Rho 所说,您需要在字段上建立索引才能使用 Cloudant 查询。默认情况下,您在 _id
.
您可以在 Cloudant 仪表板中构建索引。这是我的样子:
这是构建该索引的语法:
{
"index": {
"fields": [
"Campaign_Id"
]
},
"type": "json"
}
这个想法是让它比定义 JavaScript MapReduce 视图简单一些。 Cloudant Query 还可以在您构建 "type": "text"
索引后进行即席查询,但该索引的成本更高。有关更多信息,请访问 https://cloudant.com/blog/cloudant-query-grows-up-to-handle-ad-hoc-queries/
这并不是您问题的确切答案,而只是一个建议。为什么不尝试使用搜索索引来查询?我发现他们真的很棒。我已经从视图和查询转移到搜索索引。