Javascript 在文件中存储磁盘空间
您好,我有一个javascript文件,它在mongodb中存储数据。我想做两件事 1) 根据“db.mycol.stats();”或类似内容请求磁盘空间,并将使用的存储大小(应为“大小”或“存储大小”)存储到变量中 2) 我想将该变量存储在一个文件中,例如.txt 我看到并使用了以下内容:(disksapce是一个具有不同磁盘大小的阵列,我想测量,(amount是一个var))Javascript 在文件中存储磁盘空间,javascript,linux,file,mongodb,diskspace,Javascript,Linux,File,Mongodb,Diskspace,您好,我有一个javascript文件,它在mongodb中存储数据。我想做两件事 1) 根据“db.mycol.stats();”或类似内容请求磁盘空间,并将使用的存储大小(应为“大小”或“存储大小”)存储到变量中 2) 我想将该变量存储在一个文件中,例如.txt 我看到并使用了以下内容:(disksapce是一个具有不同磁盘大小的阵列,我想测量,(amount是一个var)) var fso2=newactivexobject(“Scripting.FileSystemObject”); v
var fso2=newactivexobject(“Scripting.FileSystemObject”);
var b=fso2.CreateTextFile(文件\u diskspace,true);
对于(m=0;m这不起作用的原因有很多。通常不能从JS上下文(当然不能从MongoDB的上下文)中写入文件,ActiveXObject只存在于windows上
如果要执行此操作,请通过调用print(db.getSiblingDB(“yourDb”).stats().storageSize);
并写入文件(或通过管道将输出写入文件)来编写脚本
编辑:像这样:mongo--quiet--eval“db.getSiblingDB('test').stats().storageSize”>size.text
ActiveX是一种MS技术,在Linux上不存在。哦,好吧^^-我会为Linux做些什么?:>所以我插入到我的脚本中“(db.getSiblingDB(“yourDb”).runCommand({collStats:“yourCollection”).storageSize);“没有--eval?在linux中如何在文件中创建输出?没有eval不行。这就是为什么要使用runCommand,这样就不需要mongodb环境本身:mongo--quiet--eval”db.getSiblingDB('test').runCommand({collStats:'test'}).storageSize”>size.textah好的-有没有办法通过.js运行该命令?我在几个步骤中插入数据以进行基准测试-因此每次迭代后,我都要检查storagesize-->size.text不是将结果导入文本的命令-它只是该过程的一个符号,不是吗?不能运行db..stat不是真的我刚刚测试了它。我不知道为什么我认为是这样,但我修改了我的答案。谢谢!
var fso2 = new ActiveXObject("Scripting.FileSystemObject");
var b = fso2.CreateTextFile(file_diskspace, true);
for (m=0;m<diskspace.length;m++)
{
b.WriteLine(amount+ ":" + diskspace[m]+"\n");
}
b.Close();