コールバックと同期の問題を最小限に抑えるためにbluebirdを初めて使用しようとしています。次のように私はちょうど青い鳥でネイティブのMongoDBクライアントを使用しています:nodejs mongodb bluebirdエラー:db.getCollectionAsyncが関数ではありません
var mongodb = require('mongodb');
var Promise = require("bluebird");
Promise.promisifyAll(mongodb);
var MongoClient = mongodb.MongoClient;
を次に後でmodule.exportsはオブジェクトで、私が持っている:
foofunc: function(callback) {
MongoClient.connectAsync(url)
.then(function(db) {
//MongoDB should create collection if its not already there
console.log('... connect worked. OK now get bar collection');
return db.getCollectionAsync('bar');
})
.then(function(col){
//do something with the returned collection col
})
.catch(function(err){
//handle errors
console.log(err);
return callback(err);
});
}
は、私は私のサーバーが稼働してからこれを呼び出しますlocalhost。接続は動作しますが、その後、右の後、私はエラーを取得する: 未処理の拒否の例外TypeError:db.getCollectionAsyncが機能私が間違っているのは何
ではないでしょうか?私はサーバサイドですべてをやっているからですか?もしそうなら、どのようにAsyncの後ろに接尾辞が付いている接続が機能しますか?私の知る限り、あなたがネイティブのMongoDB NodeJsドライバを使用して見るように:-(
OMG !!!ドキュメントのページも似ています。私はhttp://mongodb.github.io/node-mongodb-native/2.2/api/Collectionの代わりにhttps://docs.mongodb.com/v2.6/reference/method/db.getCollection/を見つめていました。 html !!!あまりにも多くのすべてが今働くおかげで:) – rstruck