Add check before dropping collection
This commit is contained in:
parent
1c269571b7
commit
0317dc723a
@ -13,20 +13,24 @@ const client = new MongoClient(uri);
|
|||||||
const db = client.db(dbName);
|
const db = client.db(dbName);
|
||||||
|
|
||||||
async function dropCollection(coll){
|
async function dropCollection(coll){
|
||||||
log.out(`DbAccess.dropCollection: checking if collection exists: ${coll}`)
|
|
||||||
|
|
||||||
//Some Code Here:
|
|
||||||
await client.connect();
|
await client.connect();
|
||||||
var cols = await db.listCollections().toArray()
|
|
||||||
log.out(`dbAccess.dropCollection: Existing collections: ${JSON.stringify(cols)}`)
|
// check if collection contains any documents, if it doesn't, it is either empty or non-existent - it doesn't need dropping.
|
||||||
|
var collection = db.collection(coll);
|
||||||
|
var count = await collection.countDocuments();
|
||||||
|
log.out(`DbAccess.dropCollection: Collection '${coll}' contains ${count} documents`)
|
||||||
|
if (count == 0) {
|
||||||
|
log.out(`DbAccess.dropCollection: Collection '${coll}' is empty. Do not need to drop`)
|
||||||
|
} else {
|
||||||
|
log.out(`DbAccess.dropCollection: dropping collection: '${coll}'`)
|
||||||
|
db.dropCollection(coll);
|
||||||
|
log.out(`DbAccess.dropCollection: dropped collection: '${coll}'`)
|
||||||
|
}
|
||||||
|
// ALTERNATIVE METHOD - Appears to not be needed:
|
||||||
|
// This code returns and prints an array containing an object for each existing collection.
|
||||||
|
// var cols = await db.listCollections().toArray()
|
||||||
|
// log.out(`dbAccess.dropCollection: Existing collections: ${JSON.stringify(cols)}`)
|
||||||
// If (any object in the Array contains name:{coll} then exsists. If not doesn't exist.)
|
// If (any object in the Array contains name:{coll} then exsists. If not doesn't exist.)
|
||||||
|
|
||||||
|
|
||||||
// If Collection Exists:
|
|
||||||
log.out(`DbAccess.dropCollection: dropping collection: ${coll}`)
|
|
||||||
db.dropCollection(coll);
|
|
||||||
log.out(`DbAccess.dropCollection: dropped collection: ${coll}`)
|
|
||||||
// Else Do Nothing
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function putCorpus(data){
|
async function putCorpus(data){
|
||||||
|
Reference in New Issue
Block a user