sql >> Database teknologi >  >> NoSQL >> MongoDB

Node.js - Mongoose - Tjek om der findes en samling

Mulighed 2 er nok den reneste. Forudsat at du har en Mongoose Connection objekt med navnet conn der er blevet åbnet ved hjælp af mongoose.createConnection , kan du få adgang til den oprindelige mongo Db objekt via conn.db . Derfra kan du ringe til collectionNames som skulle give det, du leder efter:

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

Du kan også videregive et samlingsnavn som en parameter til collectionNames for at filtrere resultaterne til lige det, du leder efter.

Mongoose 4.x-opdatering

I 2.x-versionen af ​​den oprindelige MongoDB-driver, som Mongoose 4.x bruger, collectionNames er blevet erstattet af listCollections som accepterer et filter og returnerer en markør, så du ville gøre dette som:

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


  1. Sådan organiserer du et mange til mange forhold i MongoDB

  2. Forespørger MongoDB for at matche i det første element i et array

  3. Hvordan kopierer jeg en database fra en MongoDB-server til en anden?

  4. Absolut værdi med MongoDB aggregeringsramme