sql >> Database >  >> NoSQL >> MongoDB

Node.js - Mongoose - Controleer of er een verzameling bestaat

Optie 2 is waarschijnlijk de schoonste. Ervan uitgaande dat je een Mongoose Connection hebt object met de naam conn dat is geopend met mongoose.createConnection , hebt u toegang tot de native mongo Db object via conn.db . Van daaruit kunt u collectionNames . aanroepen die moet bieden wat u zoekt:

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

U kunt ook een collectienaam als parameter doorgeven aan collectionNames om de resultaten te filteren naar wat u zoekt.

Mongoose 4.x-update

In de 2.x-versie van de MongoDB native driver die Mongoose 4.x gebruikt, collectionNames is vervangen door listCollections die een filter accepteert en een cursor retourneert, dus je zou dit doen als:

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


  1. waarom neemt het geheugengebruik van redis niet af wanneer de helft van de toetsen wordt verwijderd?

  2. Redis-transacties en langlopende Lua-scripts

  3. ElastiCache Redis instellen met Elastic BeanStalk + Django

  4. Hoe bewaar/toon ik alinea's met mongodb?