[英]MongoDB: Get all collections in one document
我在使用Javascript和mongoDB時遇到了麻煩。 我通過以下方式連接:
var db = mongo.db(config.connectionString, { native_parser: true });
並綁定我的訪問者集合db.bind('visitors');
。 因此,在嘗試使用該行將所有文檔放到那里之后:
db.visitors.find(function (err, visitors) {
if (err) deferred.reject(err.name + ': ' + err.message);
deferred.resolve(visitors);
});
所以一切對我來說都很好。 但是我每次都會收到此錯誤:
angular.js:12011 GET http:// localhost:3000 / api / visitors / getAll 400(錯誤請求)
我用我的api想到了它,於是我嘗試了...findOne({_id:1},..
並且行得通。那我錯過了什么嗎?
是的,這是錯誤的。 它應該是:
db.visitors.find({}, function (err, visitors) {
if (err) deferred.reject(err.name + ': ' + err.message);
deferred.resolve(visitors);
});
參數為:
collection.find(query[[[, fields], options], callback]);
它首先需要查詢,然后是回調,而您首先要提供回調。
使用findOne()
測試的原因在於,您是通過{_ id: 1}
對象傳遞查詢的。
Node.js中有關MongoDB查詢的文檔在這里 。
編輯:
使用.find()
並通過將其轉換為數組以異步方式處理游標對象的示例:
db.visitors.find({}).toArray(function (err, docs) {
if (err) throw err;
console.log(docs);
});
我認為您錯過了find()
的參數部分。 即使您不想查找特定的內容,也必須在參數部分傳遞一個空對象。 因此看起來應該像find({}, function(){...});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.