从MongoDB导出system.profile不会';行不通
我正在尝试出口:从MongoDB导出system.profile不会';行不通,mongodb,Mongodb,我正在尝试出口: ilya@server ~]$ mongoexport --host localhost --port 27000 --collection system.users --db mydb --out profile.json connected to: localhost:27000 exported 1 records 与系统配合正常。用户 但不适用于系统。配置文件: [ilya@server ~]$ mongoexport --host
ilya@server ~]$ mongoexport --host localhost --port 27000 --collection system.users --db mydb --out profile.json
connected to: localhost:27000
exported 1 records
与系统配合正常。用户
但不适用于系统。配置文件
:
[ilya@server ~]$ mongoexport --host localhost --port 27000 --collection system.profile --db mydb --out profile.json
connected to: localhost:27000
exported 0 records
集合不为空:
[ilya@server ~]$ mongo localhost:27000/mydb
MongoDB shell version: 2.2.3
connecting to: localhost:27000/mydb
mongos> db.system.profile.count();
1044
我需要将这些行导出并在某个地方使用它们,例如与普通集合(不作为system.profile
)一起使用。来自:
无法在mongos实例上启用评测。要启用分析,请执行以下操作:
在碎片集群中,必须为每个mongod实例启用分析
在集群中
另请参见(尽管此错误自1.9.1起已修复,并且您使用的是更高版本)
因此,请尝试直接从保存所需system.profile
集合的mongod实例中导出mongoexport
**更新**
第二种方法是不使用mongoexport,而是直接从MongoShell获取集合(因为您可以从MongoShell内部看到集合)
为此,首先编写以下脚本并将其保存到print profile.js
c = db.system.profile.find();
while(c.hasNext()) {
printjson(c.next());
}
然后从bash shell中执行以下行:
mongo localhost:27000/mydb print-profile.js > profile.json
稍等片刻,在
profile.json中,您将获得所需的数据。已收集的分析数据,是的,我知道,但谢谢!我会尝试这样做。我为您的问题添加了第二种方法,看看这是否对您有帮助。我确认将mongoexport与system.profile collection一起使用直接在mongod上起作用。@ilalopoulos,关于system.profile,我在mongodb目录中搜索过,但没有找到它。是否有它的特定位置,或者是否有任何命令在mongodb目录中创建此文件?mongoexport
选项在3.2上似乎不起作用。它说:“验证设置时出错:集合名称“system.profile”不允许以“system”开头。“有人知道它为什么不工作吗?”?