sql >> Databáze >  >> NoSQL >> MongoDB

Node.js – Mongoose – Zkontrolujte, zda existuje kolekce

Možnost 2 je pravděpodobně nejčistší. Za předpokladu, že máte Connection Mongoose objekt s názvem conn který byl otevřen pomocí mongoose.createConnection , máte přístup k nativnímu mongo Db objekt přes conn.db . Odtud můžete volat collectionNames který by měl poskytnout to, co hledáte:

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

Název kolekce můžete také předat jako parametr do collectionNames filtrovat výsledky přesně podle toho, co hledáte.

Aktualizace Mongoose 4.x

Ve verzi 2.x nativního ovladače MongoDB, který Mongoose 4.x používá, collectionNames byl nahrazen listCollections který přijímá filtr a vrací kurzor, takže byste to udělali takto:

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


  1. Jaká je maximální velikost dávkové operace MongoDB?

  2. Jak Spark, Python a MongoDB spolupracovat

  3. Bylo dosaženo maximálního počtu připojení Azure Redis Cache

  4. Nelze vytvořit/otevřít soubor zámku:/data/mongod.lock errno:13 Oprávnění odepřeno