想知道mongoexport --queryFile是否可以接受js文件?如果只有json,那么如何满足此查询db.CustomerDocument.aggregate({ $project:{“_id”:1,“国家”:1,“date”:{ $toDate:“$CustomerOnlineActiveDate”} } })
由于--queryFile值,以下命令运行时出错。
mongoexport --uri "mongodb+srv://..." --username myUser --password myPassword --db CustomerDb --collection Customer --fields _id,Country,date --type csv --queryFile c:\test\FromMongo\AccountConversion.json --out c:\test\Mini.csv
在这个mongoexport命令中,如果我只是删除--queryFile及其分配的路径,它可以工作,但情况是我需要执行以下查询。
查询文件中的文本如下。在mongo shell上,它可以毫无问题地执行。
db.CustomerDocument.aggregate({
$project: {
"_id": 1,
"Country": 1,
"date": {
$toDate: "$CustomerOnlineActiveDate"
}
}
})
我遇到的错误是:[]'不是有效的JSON:无效字符'd'正在查找值的开头。
作为替代方案,我创建了一个.json文件,其中包含以下内容:
{"$project":{"_id":1,"Country":1,"date":{"$toDate":"$CustomerOnlineActiveDate"}}}
并相应地更改了这个.json文件的路径,但仍然得到以下错误:
我遇到的错误是:[]'不是有效的JSON:查找对象关键字字符串开头的字符“\”无效。
1条答案
按热度按时间ao218c7q1#
您正在传递一个需要查询过滤器的投影。
从文档:
--queryFile=
指定包含JSON文档的文件的路径作为查询过滤器,该过滤器限制mongodump输出中包含的文档。--queryFile允许您创建太大而无法放入终端缓冲区的查询过滤器。
查询筛选器必须是包含查询运算符的JSON文档。
您可以通过两个步骤获得您正在寻找的内容:
$out
stage将结果存储在临时集合中