0

最初の更新からElasticsearchを更新しないmongoosasticに問題があります。1回更新して何も起こらなかった後、2回更新し、elasticsearchで1回目に更新したものから更新します...

これが私のコードです:

var User = system.mongoose.model('User', userSchema, 'user');

User.createMapping(function (err, mapping) {
    if (err) {
        console.log("error creating mapping");
        console.log(err);
    } else {
        console.log("Mapping created");
        console.log(mapping);
    }
});

//{$in: ['doctor','nurse']}
var stream = User.synchronize();
var count = 0;

stream.on('data', function (data) {
    count++;
});

stream.on('close', function () {
    console.log("Indexed " + count + " documents");
});

stream.on('error', function (err) {
    console.log(err);
});

誰が問題が何か知っていますか?

4

1 に答える 1

0

あなたの質問からは、あなたが何を期待し、何を得たのか明確ではありません。

User.synchronize()しかし、終了する前に開始したため、競合状態が発生していると推測しますUser.createMapping()

もしそうなら、これはうまくいくかもしれません:

var User = system.mongoose.model('User', userSchema, 'user');

User.createMapping(function (err, mapping) {
    if (err) {
        console.log("error creating mapping");
        console.log(err);
    } else {
        console.log("Mapping created");
        console.log(mapping);

        doTheNextThing();
    }
});

function doTheNextThing () {
    //{$in: ['doctor','nurse']}
    var stream = User.synchronize();
    var count = 0;

    stream.on('data', function (data) {
        count++;
    });

    stream.on('close', function () {
        console.log("Indexed " + count + " documents");
    });

    stream.on('error', function (err) {
        console.log(err);
    });
}
于 2016-12-12T02:15:31.923 に答える