首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试在mongodb shell中使用eval时出现"missing;getting“错误

在使用MongoDB Shell中执行eval命令时出现"missing: getting"错误是因为eval命令在MongoDB 4.2版本中已被弃用。在较新的版本中,MongoDB不再支持在Shell中执行JavaScript代码。

为了解决这个问题,可以考虑以下几种方法:

  1. 使用MongoDB驱动程序:可以使用MongoDB的官方驱动程序(如Node.js的mongodb驱动程序)来执行JavaScript代码。通过编写一个脚本文件,将需要执行的代码放入其中,并使用适当的驱动程序来执行该脚本。
  2. 使用MongoDB的聚合框架:MongoDB的聚合框架提供了强大的数据处理和转换功能,可以通过聚合管道来执行复杂的数据操作。可以使用聚合框架来替代eval命令,并实现相同的功能。
  3. 使用MongoDB的存储过程:MongoDB 4.4版本引入了存储过程的概念,可以使用存储过程来执行复杂的数据操作。存储过程可以通过MongoDB的官方驱动程序或其他支持存储过程的工具来执行。

总结起来,eval命令已经被弃用,不建议在MongoDB Shell中使用。相反,可以使用MongoDB的官方驱动程序、聚合框架或存储过程来执行需要的操作。这些方法更加安全和可靠,并且能够更好地利用MongoDB的功能和性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Unifi Log4jshell漏洞利用

构建 shell 指定的端口上启动 netcat 侦听器并发出 cURL 命令。...来发现,存储所有应用程序信息的MongoDB实例是没有身份验证的情况下在localhost上监听的。这意味着一旦您拥有 shell 访问权限,您就可以读取本地 MongoDB 实例并对其进行修改。...每个 Docker 和裸机安装,我们都看到了可用的 MongoDB 命令行实用程序,这使得以下攻击路径几乎在所有环境中都成为可能。 后利用 - 破解哈希 首先,让我们从本地数据库转储密码哈希。...获取存储 x_shadow 变量的那些 SHA-512 哈希值并将它们扔到 Hashcat ,以开始尝试恢复现有用户的明文密码。...mkpasswd -m sha-512 此命令将输出我们将通过反向 shell MongoDB 命令中使用的哈希值。替换相关变量的同时执行类似于下面的命令。

2.5K10
  • MongoDB配置按天存储日志文件完结篇

    使用logRotate命令需要进入到mongo shell,然后执行: use admin #db.auth('username','password'); db.runCommand({logRotate...:1}); 必须要进到admin库才生效,如果配置auth需要填写用户名和密码 执行完毕后会在logpath目录中生成一个当前时间节点的备份文件,并且原来的日志文件内容会被清除掉。...所以可以写一个脚本,由crontab定时每天定时执行转储工作,具体脚本内容如下: mongo 127.0.0.1:27021/admin --eval "db.auth('admin','admin@...19555 通过mongod.lock查找进程id kill -SIGUSR1 `cat /home/myleguan/mongo/mongod.lock` 大部分情况下并无问题,但近期集中出现了两台服务器日志切换出现问题...MongoDB的稳定性目前确实不尽人意。

    2.9K20

    Java与MongoDB 4.0多文档事务新特性体验

    •如果要使用Mongo Shell连接到MongoDB,可以使用connect-mongo.sh。...但在使用此折扣之前,我们希望通过Change Streams监控MongoDB这些操作的发生时间。 Mongo Shell执行以下命令: ?...将此shell保留,打开另一个Mongo Shell并应用折扣: ? ? 如上所示,两个文档都使用单个命令行进行更新,但不是一个事务。...大多数情况下,可以MongoDB数据库容忍这种情况,因为我们尽可能地尝试同一文档嵌入紧密链接或相关数据。 因此,同一文档的两个更新发生在一个事务: ?...当客户购物车添加第一个商品时会创建购物车,并在客户端结帐或离开网站将其删除。 我创建了一个POJO来代表购物车:Cart.java。 ?

    2.6K20

    MongoDB 新功能介绍-Change Streams

    Change streams(暂且叫变更流)的出现不仅为业务提供了实时获取数据库数据变化的简易接口,同时又避免了原来使用tail oplog 的复杂和风险性。...注意事项 1.尝试单节点(非副本集节点)上创建ChangeStream游标会报如下错误: command failed: { "ok" : 0, "errmsg" :...当对应的 token 信息对应的 oplog 不存在然后尝试恢复ChangeStream 游标不会报错但尝试对集合进行数据操作后会报如下错: getMore command failed:{...Shell db.watch() { aggregate: 1 pipeline: [{$changeStream: {...}}, ...], ... } 另外,4.0版本游标恢复增加了一个...再则,4.0版本为了支持多文档事务事件输出文档增加了另外两个参数txnNumber 和 lsid 分别表示事务号及会话ID ,需要注意的是同一个会话内事务ID从0开始自增。

    2.1K20

    MongoDB 新功能介绍-Change Streams

    Change streams(暂且叫变更流)的出现不仅为业务提供了实时获取数据库数据变化的简易接口,同时又避免了原来使用tail oplog 的复杂和风险性。...注意事项 1.尝试单节点(非副本集节点)上创建ChangeStream游标会报如下错误: command failed: { "ok" : 0, "errmsg" : "...当对应的 token 信息对应的 oplog 不存在然后尝试恢复ChangeStream 游标不会报错但尝试对集合进行数据操作后会报如下错: getMore command failed:{...Shell db.watch() { aggregate: 1 pipeline: [{$changeStream: {...}}, ...], ... } 另外,4.0版本游标恢复增加了一个...再则,4.0版本为了支持多文档事务事件输出文档增加了另外两个参数txnNumber 和 lsid 分别表示事务号及会话ID ,需要注意的是同一个会话内事务ID从0开始自增。

    2.8K21

    如何在Ubuntu 18.04 LTS上安装和配置MongoDB

    MongoDB是一个非关系型数据库,因此您不能使用SQL(结构化查询语言)插入和检索数据,也不会将数据存储MySQL或Postgres等表。...数据以JSON格式存储“文档”结构MongoDB称为BSON)。 MongoDB于2009年首次推出,目前由MongoDB公司开发。...启动MongoDB并将其添加为启动启动的服务: systemctl start mongod systemctl enable mongod 现在用netstat命令检查MongoDB是否已经端口...netstat -plntu 配置MongoDB用户名和密码 安装MongoDB软件包,您可以为数据库服务器配置用户名和密码: 第1步 – 打开mongo shell 在为MongoDB设置用户名和密码之前...输入以下内容即可登录: mongo 如果出现错误全局初始化失败:BadValue无效或无用户区域设置。

    1.7K10

    Vulnhub靶机实战 | joker

    option=com_templates&view=templates 可在模板添加shell.php文件,写入一句话木马: <?php @eval($_POST[c]);?...如果我们可以成功修改cron的任何脚本或二进制文件,那么我们可以使用root权限执行任意代码,工具pspy) Suid提权(SUID代表设置的用户ID,是一种Linux功能,允许用户指定用户的许可下执行文件...工具LinEnum.sh) Sudo 配置错误(管理员可能只允许用户通过SUDO运行一些命令,可能在没有察觉的情况下引入漏洞,这可能导致权限提升。.../build-alpine #构建容器镜像 错误required by: world解决办法: 编辑/etc/apk/repositories 然后文件的最顶端添加http://mirrors.ustc.edu.cn.../alpine/v3.12/main/ 编译成功完成后,出现容器镜像alpine-v3.12-x86_64-20200617_0924.tar.gz,将该文件上传到靶机

    2.4K10

    MongoDB 存储过程的使用以及性能调优方案

    虽然MongoDB给了我们很多驱动可以用,但是都没有mongodbshell来的方便。 就比如说最近需要做的DBRef嵌套类型的数据要做CRUD如果使用mog驱动的话会非常麻烦。...("peopleUpdatePhone('test','23333test')") 测试之后mongo shell里面是ok的。...但是要注意锁的问题:eval会产生写入锁。结果你懂得。 性能测试。 我直接测试了调用main函数10000次 eval 测试eval表现不佳,因为会锁库。...顺便吐槽一下mongodb的锁那真的是相当的大。 最后测试我每等到结果,甚至有几次修改一次要用4秒钟。(因为之前的锁没打开。)...总结 我用的是MBP MGX82 虽然性能不是很好(跟MYSql还是差很多)但是以及够支持一般的应用了 不是MongoDB不暴力,仅仅是因为我不懂而已。

    1.3K70

    WIKI | 未授权访问的tips

    bash反弹shell,也可使用其他方法 (2).写ssh-keygen公钥然后使用私钥登陆 以下条件下,可以利用此方法 1、Redis服务使用ROOT账号启动 2、服务器开放了SSH服务,而且允许使用密钥登录...php @eval($_POST[shell]);?>');3. def webshell = '<?php @eval($_POST[shell]);?...使用默认 mongod 命令启动 Mongodb 机器可以被公网访问 公网上开放了 Mongodb 端口 数据库隐私泄露 数据库被清空 数据库运行缓慢 1....2.6以后这些接口默认是关闭的。mongoDB默认会使用默认端口监听web服务,一般不需要通过web方式进行远程管理,建议禁用。...它极大地精简化程序员进行分布式计算所需的操作,用户大概通过如下步骤hadoop实现分布式处理: 用户创建一个处理键值的map函数 产生了一套中间键/值 reduce函数合并中间值并把他们关联到对应的键

    3.7K40

    MongoDBmongodb4.4版本新特性

    但是实际使用 MongoDB 的过程,即使我们事先仔细斟酌了要选择的 Shard Key,也会因为 Workload 的变化而导致出现 Jumbo Chunk,或者业务流量都打向单一 Shard 的情况...1.3 Compound Hashed Shard Keys 4.4 之前的版本,只能指定单字段的哈希片键,原因是此时 MongoDB 不支持复合哈希索引,这样导致的结果是,很容易出现集合数据分片上分布不均...而在 4.4 MongoDB 提供了,因网络异常导致全量同步中断情况下,从中断位置恢复全量同步的能力。尝试恢复一段时间后,如果仍然不成功,那么会重新选择一个同步源进行新的全量同步。...这个尝试的超时时间默认是 24 小时,可以通过 replication.initialSyncTransientErrorRetryPeriodSeconds 进程启动更改。...Shell (beta) 对于运维 MongoDB 的同学来说,使用最多的工具可能就是 mongo shell,4.4 提供了新版本的 mongo shell,增加了像代码高亮,命令自动补全,更加可读的错误信息等非常人性化的功能

    3.2K21

    故障分析 | MongoDB 5.0 报错 Illegal instruction 解决

    /mongo --help MongoDB shell version v4.4.9 usage: ....带着疑惑和关键字MongoDB社区进行查找,发现存在类似报错: 该案例虽然操作系统为 Ubuntu ,但是系统错误信息类似,报错原因是因为:MongoDB 5.0 版本基本的要求是所在服务器的 CPU...AVX 指令集 AVX(Advanced Vector Extensions ,高级向量扩展指令集)是 x86 架构微处理器的指令集 由英特尔2008年3月提出,并在2011年第一季度发布的 Sandy...AMD 随后的2011年第三季度发布的 Bulldozer 系列处理器开始支持 AVX 。所以较老的 CPU 架构可能并不支持 AVX 指令集。...的文章《Getting storage engines ready for fast storage devices》提到:可以使用经过高度优化基于 AVX 的 memcpy 方式,实现数据从内存映射区域拷贝到另一块应用的缓冲区

    2.9K10

    MongoDB 存储过程的使用以及性能调优方案

    虽然MongoDB给了我们很多驱动可以用,但是都没有mongodbshell来的方便。 就比如说最近需要做的DBRef嵌套类型的数据要做CRUD如果使用mog驱动的话会非常麻烦。...("peopleUpdatePhone('test','23333test')") 测试之后mongo shell里面是ok的。...但是要注意锁的问题:eval会产生写入锁。结果你懂得。 性能测试。 我直接测试了调用main函数10000次 eval 测试eval表现不佳,因为会锁库。...顺便吐槽一下mongodb的锁那真的是相当的大。 最后测试我每等到结果,甚至有几次修改一次要用4秒钟。(因为之前的锁没打开。)...总结 我用的是MBP MGX82 虽然性能不是很好(跟MYSql还是差很多)但是以及够支持一般的应用了 不是MongoDB不暴力,仅仅是因为我不懂而已。

    1.2K80

    mongodb11天之屠龙宝刀(九)js函数入门:MongoDB基于js的数据类型修改

    shell使用一个特殊的内嵌文档来显示64位整数, 64位浮点数 shell的数字都是这种类型。...不过shell无法使用。 最大值 BSON包括一个特殊类型,表示可能的最大值。shell没有这个类型。 最小值 BSON包括一个特殊类型,表示可能的最小值。shell没有这个类型。...因为MongoDB中有3种数字类型(32位整数、64位整数和64位浮点数),shell必须绕过JavaScript的限制。默认情况下,shell的数字都被MongoDB当做是双精度数。...所以明智的做法是尽量不要在shell下覆盖整个文档。 日期   JavaScript的Date对象用做MongoDB的日期类型,创建一个新的Date对象,通常会调用new Data(“”)。...4、调用函数进行类型 关于转换从string转化data,int32,都没问题,但是执行转换双精度的过程始终shell无法执行,如果你可以烦请告知,我这面因此考虑使用函数转换, 函数形式如下

    1.4K30

    MongoDB 认证鉴权那点事

    为了体验Mongodb 的权限管理,我们找一台已经安装好的Mongodb,可以参见这里搭建一个单节点的Mongodb。 直接打开mongo shell: ?...尝试执行stats命令以查看appdb数据库的状态: ? 此时的提示正是说明你当前的操作没有获得许可,使用appdb预创建的用户进行鉴权: ?...六、常见问题 shell 操作提示错误 ? 原因:当前连接未鉴权或用户没有操作权限 解决:为用户分配适当权限,并执行auth操作,如下: ?...无法执行 eval 操作 db.eval( ) 是一个全局操作,可执行任意数据库脚本; 执行该命令需要拥有anyAction或anyResource的权限,通常不建议为数据库用户赋予这样的权限。...该命令存在安全风险,已不建议使用(mongodb 3.0之后已经过期)。

    2.2K20

    mongodb11天之屠龙宝刀(九)js函数入门:MongoDB基于js的数据类型修改

    shell使用一个特殊的内嵌文档来显示64位整数, 64位浮点数 shell的数字都是这种类型。...不过shell无法使用。 最大值 BSON包括一个特殊类型,表示可能的最大值。shell没有这个类型。 最小值 BSON包括一个特殊类型,表示可能的最小值。shell没有这个类型。...因为MongoDB中有3种数字类型(32位整数、64位整数和64位浮点数),shell必须绕过JavaScript的限制。默认情况下,shell的数字都被MongoDB当做是双精度数。...所以明智的做法是尽量不要在shell下覆盖整个文档。 日期   JavaScript的Date对象用做MongoDB的日期类型,创建一个新的Date对象,通常会调用new Data(“”)。...4、调用函数进行类型 关于转换从string转化data,int32,都没问题,但是执行转换双精度的过程始终shell无法执行,如果你可以烦请告知,我这面因此考虑使用函数转换, 函数形式如下

    2.1K40
    领券