目前,我正在将mongoose查询中已经分页的数据添加到redis中,这样我就可以根据键来提取它 'listings-page-' + currentPage
我在试着 hget
我刚才为它准备的数据循环到redis中,但是当试图用该键返回所有结果时,它返回的是未定义的。
我猜这是一个append问题,但是我还没有在这里看到相关的命令与为hsetredis数据追加数据相关。谢谢你的帮助!
.then(documents => {
for (let i = 0; i < documents.length; i++) {
let docs = JSON.stringify(documents[i]);
let listingId = documents[i]._id.toString();
client.hset('listings-page-' + currentPage, listingId, docs);
}
client.hget('listings-page-' + currentPage, (err, val) => console.log((val)));
1条答案
按热度按时间bpzcxfmw1#
我认为这可能是因为异步循环行为。
您是否尝试在集合上使用foreach迭代器编写代码?它看起来是这样的:
还有其他一些第三个包来处理承诺(比如bluebird),它允许您处理一些其他场景,比如竞争条件、并行迭代等等。
如果还有什么需要我帮忙的,请告诉我!
我的示例(需要运行redis)localhost:6379)