我是NodeJS的新手,我正在使用MongoJS连接到我的数据库。
一切正常,但是当我使用db.collection.find()函数时,它只返回数据库中的前10个结果。
function listMessages(from,to){
console.log("[REQ] User "+from+" asked chat with "+to);
var htext = 'Welcome to the chat<br/>';
db.messages2.find({$or:[{from_id: from, to_id: to}, {from_id: to, to_id: from}]},function(err, echoData) {
if( err || !echoData) console.log("No messages found");
else echoData.forEach( function(returnData) {
htext += returnData.from_id+": "+returnData.text+"<br/>";
});
io.sockets.emit('html message '+from, htext, to);
});
}
它工作正常,但只返回数据库中的前10个结果,即使我使用限制 我也尝试过使用它,但它没有用:
db.messages2.find({$or:[{from_id: from, to_id: to}, {from_id: to, to_id: from}]},{},{limit: 50}, function(err, echoData) {
我需要做些什么来解决这个问题?谢谢!
答案 0 :(得分:1)
mongoDB中的默认限制是10
来自文档:
collection.find(query [[[,fields],options],callback]);
选项 - 定义额外的逻辑(排序选项,分页等)。
寻呼 可以使用选项参数限制并跳过
来实现分页
所以有一个新的限制:
db.messages2.find({}, {}, {limit: 1000}, function(err, echoData) {