MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Nodejs Mongoose - bagaimana cara menghindari panggilan balik?

Anda dapat menggunakan rantai q janji di nodejs

var Q = require('q');

function findOne(filter) {
    return Q.Promise(function(resolve, reject) {
        Character.findOne(filter, function(err, character) {
            resolve({
                err: err,
                character: character
            });
        });
    });
}

function update(data) {
    return Q.Promise(function(resolve, reject) {
        character.update(data, function(err, characterID) {
            resolve({
                err: err,
                characterID: characterID
            });
        });
    });
}

findOne({ name: 'Sam' }).then(function(data) {
    if (!data.err) {
        // now you can update it.
        return update(data.character);
    } else {
        throw new Error(data.err);
    }
}).then(function(data) {
    if (!data.err) {
        // now you can update it.
        return update(data.characterId);
    } else {
        throw new Error(data.err);
    }
    return findOne({ id: characterId });
}).then(function(data) {
    if (!data.err) {
        // now you can update it.
        return update(data.character);
    } else {
        throw new Error(data.err);
    }
}).catch(function(error) {
    // Handle any error from all above steps
}).done();


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. pushOrModify seperti operator untuk subdocument mongo

  2. Mongodb ERROR:proses anak gagal, keluar dengan nomor kesalahan 51

  3. Cara Menghubungkan Ke Deployment MongoDB Anda Menggunakan Robo 3T GUI

  4. Tidak dapat terhubung ke pod Mongodb di Kubernetes (Koneksi ditolak)

  5. TypeError:callback.apply bukan fungsi setelah allowDiskUse