Reputation: 65
I want to get count of documents returned by MongoDB.
Below is the command that returns some documents but I cannot figure out a way to count the no of documents.
db.runCommand( {
usersInfo: 1,
filter: {
roles: { $in: [
{ role: "root", db: "admin" },
{ role: "clusterAdmin", db: "admin" },
{ role: "clusterManager", db: "admin" },
{ role: "clusterMonitor", db: "admin" },
{ role: "hostManager", db: "admin" },
{ role: "backup", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" }
] }
}
} ).users
Can someone throw some light on it.
Upvotes: 1
Views: 45
Reputation: 10707
Since the command return an array , the easiest is to check the array length which represent the number of documents:
db.runCommand( { usersInfo: 1, filter: { roles: { $in: [{ role: "root", db: "admin" },{ role: "clusterAdmin", db: "admin" },{ role: "clusterManager", db: "admin" },{ role: "clusterMonitor", db: "admin" },{ role: "hostManager", db: "admin" },{ role: "backup", db: "admin" },{ role: "readAnyDatabase", db: "admin" },{ role: "readWriteAnyDatabase", db: "admin" },{ role: "userAdminAnyDatabase", db: "admin" },{ role: "dbAdminAnyDatabase", db: "admin" }] } } } ).users.length
Upvotes: 1