gpt4 book ai didi

database - 蒙戈外壳 : is there a way to execute the javascript code remotely instead of doing work in the local machine?

转载 作者:行者123 更新时间:2023-12-05 06:11:40 25 4
gpt4 key购买 nike

我有一个在 Mongo Atlas 上运行的 MongoDB 实例,我有一台本地机器。

我想执行一个脚本,但我希望这个脚本在 mongo 实例 上执行。

我已经尝试过几种方法,例如 Robo3T 或 Mongo shell。看起来这种行为不是我想要的。

假设我们有这个脚本:

print(db.users.find({}).toArray().length);

我的用户集合有大约 3 万行。我自愿使用 toArray() 来强制创建一个 js 数组。但我希望创建这个数组......在 MongoDB 实例中或接近它;不是在我启动 mongo shell(或 Robo3T)的实例上。

这显然不是我计算用户数量的用例,如果我真的只想要用户数量,我会使用 .count() 并且它会更快。但我只是想说明一个事实,即代码没有在我希望它运行的位置运行。

假设您连接到远程 ssh。你的连接很差。如果你做类似的事情

wget http://moviedatabase.com/rocky.mp4

这是一部 1 To 电影。如果您的连接非常快或非常慢,您将花费相同的时间:重要的是您连接到的服务器的带宽。

在我的示例中,一切都取决于您在其上启动 Mongo shell 的实例的连接。如果连接良好,它会比连接良好时更快。

执行js代码“更接近”MongoDB实例的方法是什么?当您管理 MongoDB 实例时,这种行为如何不是问题?

提前致谢

杰罗姆

最佳答案

这取决于你想做什么。

没有可以运行任意代码的通用上下文,但您可以 store a javascript function on the server , 然后可以在 $where 中使用或 mapReduce .

请注意 server-side javascript可以用 security.javascriptEnable 禁用配置参数。

我希望 Atlas 禁用它,因为它是免费和共享层。

关于database - 蒙戈外壳 : is there a way to execute the javascript code remotely instead of doing work in the local machine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63901949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com