我使用以下问题开始了我的MongoDB之旅:
我找到的答案如下:
<db name>
<db name>
<collection name>
。COUNT()上面的所有命令都是手动在MongoDB shell中运行的。我想找到一种方法以批处理模式运行这些命令,并获得如下格式的结果:
有人愿意分享实施它的任何想法吗? 任何特定的片段都将不胜感激。
答案 0 :(得分:0)
嗯,基本上你可以创建一个JavaScript文件并在需要时通过mongo shell运行它:
var db = db.getSiblingDB("admin");
var output = [];
db.runCommand({ listDatabases: 1 }).databases.map(
function(x){ return x.name }
).forEach(function(dbname) {
var cdb = db.getSiblingDB(dbname);
cdb.getCollectionNames().forEach(function(coll) {
var count = cdb.getCollection(coll).count();
output.push({
db: cdb,
collection: coll,
count: count
});
})
});
printjson( output );
然后只是调用它。我调用了文件&#34; lister.js&#34;:
mongo lister.js
因此,您可以使用shell可用的print()
或printjson()
方法生成输出。
否则,请查阅MongoDB驱动程序以获取您喜欢的脚本语言,并按照上面显示的内容实现。所有基本方法和原则都将可用。