gpt4 book ai didi

javascript - 沙发基地在 node.js 中按日期减少

转载 作者:搜寻专家 更新时间:2023-11-01 00:18:09 24 4
gpt4 key购买 nike

我必须编写一些代码来使用 couchbase、node.js 过滤活跃用户

我有一些用户文档,我用下面的代码做了一个 View :

我使用以下代码创建了一个名为“bydate”的 View :

function (doc, meta) {  
if(meta.type == 'json') {
if(doc.type == 'user') {
if (doc.lastUpdate){
emit(dateToArray(doc.lastUpdate),doc.name); }
}
}
}

我必须使用 couchbase 控制台中的“group_level”设置按日、月或年进行过滤,但是我无法在 node.js 端正确过滤它

这是我的 node.js 代码

router.get("/activetodaycount",
function(request,response,next)
{

var couchbase = require('couchbase');
var ViewQuery = couchbase.ViewQuery;

var params =
{
'reduce' : true
, 'group_level' : 3
, 'connection_timeout' : 600000
, 'limit' : 10
, 'skip' : 0
, 'stale' : false
, 'inclusive_end' : false
};

var query = ViewQuery.from('users', 'bydate')

couch.query(query, params, function(error, data)
{

if (error)
{
return next(error);
}

console.log(data)

var out = [];

for( var i = 0;i<data.length; i++ )
{
console.log(data[i])
var user = data[i].id;
out.push(user)
}

response.json({'cnt':out.length});
});

}

控制台输出是:

{ key : null, value : XX}

我不明白为什么我没有将 dateToArray 结果作为键。有什么想法吗?

编辑:

这是 couchbase 控制台中过滤结果的输出:

Key     Value
[2015,1,2,13,56,0]
user:0af1144d-a23b-4098-9079-13dea8eb24b1 null
[2015,1,2,13,56,0]
user:58bc2ca5-9c50-4a5f-a056-e2a7b32450fd null
[2015,1,2,16,43,57]
user:6b5f1c46-bf1d-43d6-bf25-b3f1a2495cdf null

最佳答案

我怀疑您使用的是 2.0.3(最新)版本的 Node SDK,它会忽略您传递给query函数的params对象,因为它希望 ViewQuery 对象本身指定选项。

试试这个:

var couchbase = require('couchbase');
var ViewQuery = couchbase.ViewQuery;
var cluster = new couchbase.Cluster('localhost');
var bucket = cluster.openBucket('default', console.log);

var query = ViewQuery.from('users', 'bydate')
.group_level(6)
.stale(ViewQuery.Update.BEFORE)
.limit(10)
.range([2015,1,2,13,56,0], [2015,1,2,16,43,57], true);

bucket.query(query, console.log);

请注意,range方法采用开始键、结束键和包含结束的 bool 标志。

关于javascript - 沙发基地在 node.js 中按日期减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27742790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com