1

Nodejsは非同期であるため、mongodbリクエストを注文する良い方法はありますか?

データベースに data1 を挿入し、すぐにそのデータの読み取りを要求すると、データがデータベースに書き込まれる前に読み取り要求が実行される可能性があります。

リクエストで同期動作を強制する代わりに、これを回避する良い方法はありますか?

4

1 に答える 1

2

挿入が完了した後にのみ呼び出されるコールバックを簡単に使用できます。

var
    mongodb = require('mongodb'),
    client = new mongodb.Db('test', new mongodb.Server('127.0.0.1', 27017, {})),
    test = function (err, collection) {
        collection.insert({ hello : 'world' }, {safe:true}, function(err, docs) {
            collection.count(function(err, count) {
                console.log(count);
            });

            collection.find({ hello : 'world' }).toArray(function(err, results) {
                console.log(results);
            });
        });
    };

client.open(function(err, client) {
    client.collection('test_collection', test);
});

より複雑な機能が必要な場合は、非同期モジュールを参照してください。多くのコールバックを整理するのに役立つはずです。

于 2012-09-03T17:09:44.050 に答える