MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Извиквания на синхронна функция за nodejs mongodb драйвер

Вие не можете използвайте асинхронен резултат като върната стойност от функция. Толкова е просто. Трябва да доставите асинхронния резултат на повикващия чрез обратно извикване, което е предоставено като параметър на функцията (или да използвате фючърси/обещания и ефективно да отложите тази стъпка, но това е по-сложно).

if_exists вместо това трябва да изглежда така:

var if_exists = function(query, where, callback) {

  require('mongodb').connect(DB.mongo_url, function(err, db) {
    db.collection(where, function(err, coll) {
      coll.findOne(query, function(e, r) {
        //console.log(r);
        if (r === null) {
          callback(e, false);
        } else {
          callback(e, true);
        }
        // You should either close db here or connect during start up
        // and leave it open.
        db.close();
      });
    });
  });
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Предотвратяване на свързани с базата данни условия на състезание в Node.js

  2. Модулът не е намерен:Грешка:Не може да се разреши „dns“ при използване на MongoDB

  3. MongoDB Показване на цялото съдържание от всички колекции

  4. Задайте място за съхранение на MongoDB, инсталиран на AWS EC2 инстанция, на EBS хранилище. И как да го възстановя, след като инстанцията е спряна/прекратена?

  5. Mongo / Mongoose - Агрегиране по дата