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

Node.js - Mongoose - Проверете дали съществува колекция

Вариант 2 е може би най-чистият. Ако приемем, че имате Connection на Mongoose обект с име conn който е отворен с помощта на mongoose.createConnection , можете да получите достъп до родния монго Db обект чрез conn.db . От там можете да извикате collectionNames което трябва да осигури това, което търсите:

conn.db.collectionNames(function (err, names) {
    // names contains an array of objects that contain the collection names
});

Можете също да подадете име на колекция като параметър на collectionNames за да филтрирате резултатите само до това, което търсите.

Актуализация на Mongoose 4.x

Във версията 2.x на собствения драйвер на MongoDB, който Mongoose 4.x използва, collectionNames е заменен от listCollections който приема филтър и връща курсор, така че да направите това като:

mongoose.connection.db.listCollections({name: 'mycollectionname'})
    .next(function(err, collinfo) {
        if (collinfo) {
            // The collection exists
        }
    });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ или оператор на конвейер за агрегиране

  2. Първи стъпки с MongoDB и Mongoose

  3. MongoDB:Изчислете времето на престой между всяка промяна на стойността на състоянието

  4. Не е възможно да се заключи mongodb документ. Ами ако трябва?

  5. Интегриране на ClusterControl със SNMP:Част втора