sql >> Databasteknik >  >> NoSQL >> MongoDB

Node.js - Mongoose - Kontrollera om det finns en samling

Alternativ 2 är förmodligen det renaste. Förutsatt att du har en Mongoose Connection objekt med namnet conn som har öppnats med mongoose.createConnection , kan du komma åt den infödda mongon Db objekt via conn.db . Därifrån kan du ringa collectionNames som bör ge det du letar efter:

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

Du kan också skicka ett samlingsnamn som en parameter till collectionNames för att filtrera resultaten till precis det du letar efter.

Mongoose 4.x-uppdatering

I 2.x-versionen av MongoDB-drivrutinen som Mongoose 4.x använder, collectionNames har ersatts av listCollections som accepterar ett filter och returnerar en markör så att du gör detta som:

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


  1. Hur man använder kryptering för att skydda dina MongoDB-data

  2. MongoDB och går med

  3. Moduluttaget hittades inte lua

  4. Hur kan jag testa om min redis-cache fungerar?