大家! 我在Nodejs上的MongoDB驱动程序有问题。 我在前端有一个分页组件,它可以从后端选择一些文档(默认为10个文档)。所以我的后端有下一个代码:
const itemsPerPage = req.body.per_page;
const currentPage = req.body.current_page;
let skip = math.eval((currentPage - 1) * itemsPerPage);
let transactions = await collection.find({})
.sort(sortParam)
// .collation({locale: "en_US", numericOrdering: true})
.project({
"date": 1,
"from": 1,
"to": 1,
"hash": 1,
"val": 1
})
.skip(skip)
.limit(itemsPerPage)
.toArray(); // in sort 1 for asc and -1 for desc
console.log('skip: ' + skip);
console.log('limit: ' + itemsPerPage);
问题是当我尝试在组件上获取“最后一页”时,mongo向我抛出了一个空数组。而且,如果我尝试获取上一页,则它恰好为我提供了最后一页,有时,当我使用具有相同模型的类似集合时,也会在最后一页之前的页面上抛出空数组。因此,似乎问题不在前端或后端代码中,而与mongo类似。但是,当我将完全相同的查询粘贴到Studio3T或Robomongo中时,它可以正常工作。请帮助,我真的很困惑。 我为另一个非常相似的组件使用了几乎相同的代码,该组件可与另一个集合一起使用,一切正常。