我是新與MongoDB中,我被闖民宅試圖排序選項:http://mongodb.github.io/node-mongodb-native/markdown-docs/queries.html#sortingMongoDB的「排序」不工作,如果「限價」被刪除
我的代碼:
MongoClient.connect('mongodb://127.0.0.1/test', function (err, db) { //connect to mongodb
var collection = db.collection('qr');
var options = {
"limit": 20,
"sort": "CARDNO"
}
collection.find({}, options).toArray(function (err, data) {
console.log(data.length);
res.send(JSON.stringify(data));
});
console.log("successfully connected to the database");
//db.close();
});
返回前20個記錄排序結果。
但是當我刪除 「限制」
MongoClient.connect('mongodb://127.0.0.1/test', function (err, db) { //connect to mongodb
var collection = db.collection('qr');
var options = {
"sort": "CARDNO"
}
collection.find({}, options).toArray(function (err, data) {
console.log(data.length);
res.send(JSON.stringify(data));
});
console.log("successfully connected to the database");
//db.close();
});
我收到提示
我試圖
console.log(err)
它給[Error: parseError occured]
在控制檯
/home/local/user/Desktop/node10k/routes/user.js:23
console.log(data.length);
^
TypeError: Cannot read property 'length' of null
注意:我的收集包含84k記錄。
我的問題:它的工作很好,如果我把一些限制,我試過最多64K限制了它的工作,當我嘗試74K我得到的問題[Error: parseError occured]
結果爲"limit" : 64020
Express server listening on port 3000
successfully connected to the database
64020
GET /users 200 11735ms - 15.32mb
結果爲"limit" : 74020
Express server listening on port 3000
successfully connected to the database
[Error: parseError occured]
當「限制」超過64k時,爲什麼會出現錯誤?
尼爾通知我評論:
- 代碼有語法問題
- 這可能是問題的原因與指定者
答案:
我得到了代碼參考mongodb頁面(鏈接在開始給出)所以這不是一個語法問題,它與m很好地工作y代碼是否給予限制。所以不是一個語法錯誤
我試圖
collection.find()指定者(函數(ERR,數據){ 如果(ERR){ 的console.log(ERR); 其他} {data_length} } res.send(JSON.stringify(data)); });
而且我得到的結果沒有錯誤。
Express server listening on port 3000
successfully connected to the database
84050
GET /users 200 17525ms - 20.1mb
所以不是指定者()問題
此問題僅帶有排序和代碼工作正常使用64K的數據。爲什麼?
爲什麼你不嘗試調試,如果mongo發現錯誤?您嘗試了其他哪些調試步驟? –
我該如何調試? – Okky
@MukeshSoni我試過的console.log(JSON.stringify(ERR))的捐贈在控制檯 – Okky