/** * クエリに一致するドキュメントの個数を取得します * * @param {String} collectionName * @param {Object} query */ async count(collectionName, query) { if (collectionName == null || query == null) { throw new MissingArgumentsError(); } const documentsCount = await this._db.collection(collectionName).count(query); return documentsCount; }
mongoClient.connect(URL, (err, client) => { console.log('Connected') const db = client.db(DB_NAME); let count = db.collection('books').count(); console.log(`books count: ${count}`); client.close(); })
getDocumentCountByQuery(coll, query, cb) { if(!isObject(query)){ throw Error("mongoClient.getDocumentCountByQuery: query is not an object"); } try { this.db.collection(coll).count(query, function(err, data) { if(err) logger.error("mongoClient.getDocumentCountByQuery: error counting the document with query,", err); else logger.info("mongoClient.getDocumentCountByQuery: counting successfull"); cb(err, data); }); } catch(e) { logger.error("mongoClient.getDocumentCountByQuery: Error caught,", e); cb(e, null); } }
async function getCollectionSize(connectionString, dbName, collectionName) { const connection = await MongoClient.connect(connectionString) const count = await connection.db(dbName).collection(collectionName).count() await connection.close() return count }
/** * クエリに一致するドキュメントの個数を取得します * * @param {String} collectionName * @param {Object} query */ async count(collectionName, query) { if (collectionName == null || query == null) { throw new MissingArgumentsError(); } const documentsCount = await this._db.collection(collectionName).count(query); return documentsCount; }