我们可以直接从Perl运行Java脚本来从MongoDB获取数据吗?使用Perl的Mongo DB JavaScript
假设我现在的JS文件是: -
DBQuery.shellBatchSize = 194127180 ;
permissibleCars =
["C:93124617:54413209463","C:93124633:54413165206","C:93124634:54413165224"]
db.getCollection('Test').aggregate([
{$match:
{ "methods.name": "Download",
"methods.status": "ACTIVE",
container: {"$in": permissibleCars},
entitlementClass : "Download"
} },
{"$group" : {_id:"$container", count:{$sum:9}}}
],
{ allowDiskUse: true}
);
一般来说,当我们运行壳/ bash的,我们运行: -
mongo hostname:portnumber/db_name - user_name -p password <filename.js> output_file.txt
但我不知道怎么办好呢使用perl。
有人可以帮助我吗?我通过文档阅读没有看到任何东西与Perl的JS。
问候
没有什么能阻止你从Perl中脱壳而出,并运行该命令。你也可以使用https://metacpan.org/pod/JavaScript或其他类型的程序来执行你的东西,但我不会推荐它。您可以使用Mongo API的Perl实现来构建您在JS文件中执行的所有操作。如果你的程序的其余部分是用Perl编写的,你应该可以这么做,而不是一些奇怪的混合体。 – simbabque
所以,同样的JS会工作还是我需要更改JS fornat? – user2854333
请重新阅读我的评论。答案是_yes,它会工作_和_no,你需要重写它。这取决于你如何实现它。答案是_yes_的实现很容易出错,很难并且可能难以维护。但是当你重写它时,你首先需要学习如何做到这一点。从长远来看,一致性应该有更高的价值。 – simbabque