首先,別擔心,它是一個很小的數據集 - 我意識到通過API將整個生產數據庫轉儲到單個屏幕並不明智...我只需要通過Node.js應用程序中的API端點獲取整個(小)DB的JSON轉儲。在Node.js中顯示完整的MongoDB內容API
我的應用程序使用此代碼併成功返回單記錄:
MongoClient.connect("mongodb://localhost:27017/search", function (err, db) {
if(err) throw err;
db.collection('results', function(err, collection) {
// search for match that "begins with" searchterm
collection.findOne({'string':new RegExp('^' + searchterm, 'i')}, function(err, items){
// get result
var result;
if (items == null || items.result == null){
result = "";
}
else {
result = items.result;
}
// return result
res.send(result);
});
});
});
所以我知道節點成功地交談蒙戈,但我該如何調整這個查詢/代碼基本上返回時,你執行得什麼MongoDB命令行上的以下內容:
$ db.results.find()
我很好奇你爲什麼需要加上'toArray'。介意分享您使用的MongoDB/Mongoose的版本? –
我說實話,我不知道貓鼬是什麼。我在Mac OS X Sierra上運行MongoDB v3.2.0。我習慣了陣列(...),因爲經過大量的隨機試驗和錯誤,這是第一件有效的工作。如果你建議一個正確的選擇,我會給出一個去。 – HomerPlata
Mongoose是一個用於JavaScript/Node.js的MongoDB包裝器,可以將東西抽象成更易於維護和可讀的代碼。我認爲這就是爲什麼我建議的解決方案不起作用。 Mongoose可能正是你所做的:'toArray()'在內部。 –