0

ノードとmongodbに入ったばかりで、最初の障害に遭遇しました。

コードが次のようなチュートリアルを実行しています。

var db = new mongo.Db("database", new mongo.Server(host, port, {}));
db.open(function(error){
  db.collection("user", function(err, collection){
    collection.find({"id":"1"}, function(error, cursor){
      cursor.toArray(function(err, users){
        if(users.length == 0){
          console.log("no such user");
        } else if {
          console.log("user found: ", users[0]);
        }
     });
   });
 });

ただし、ユーザーがnullであると言って、コードは機能しませんでした。(エントリを挿入するコードがあります)とにかく、何が起こっているのかを理解しようとしているときに、コールバックを使用してカーソルを取得する代わりに、検索に同期パターンを使用するドキュメントに出くわしました。コードは次のようになります。

var cursor = collection.find({"id":"1"});

実際、ドキュメントのどこにも、カーソルを返すコールバックでの検索の使用について言及している場所が見つかりません。私は本当に混乱しています。チュートリアルは古くなっていますか?そして、このコードの何が問題なのですか?

4

1 に答える 1

0

である場合usersnull、それerrが問題の内容を示している可能性があります。if (err)コードにパスを追加して、err設定時にログに記録します。

findあなたが説明する両方の方法で機能します。コールバック パラメータはオプションです。指定しない場合は、代わりに返されたカーソルを使用できます。ドキュメントを参照してください:リンク

于 2012-10-15T13:01:17.350 に答える