在Robo3T中,如何添加自定义功能

Sta*_*ish 5 javascript mongodb robo3t

我刚刚安装了 Robo3T(以前名为 robomongo),它有一个 mongo db 的 GUI。我想添加一个自定义函数来帮助我按正常顺序获取最后N个文档,查询语句是这样的:

db.getCollection('i1801').find().skip(db.getCollection('i1801').count() - 1200)
Run Code Online (Sandbox Code Playgroud)

我从stackoverflow(mongodb:如何获取最后N条记录?)中发现,这可以写成这样的函数:

function last(N) {
    return db.collection.find().skip(db.collection.count() - N);
}
Run Code Online (Sandbox Code Playgroud)

我回到我的 Robo3T,尝试添加自定义功能last(),但没有成功,功能选项卡下没有显示任何内容。

我附上了一些说明此问题的屏幕截图:

尝试添加自定义功能

创建自定义函数并保存

保存后没有任何反应

单击“保存”按钮后,没有任何反应,功能选项卡下仍然没有任何功能。日志显示last已创建的函数以及正在刷新的函数选项卡。 这是日志

那么,如何在这里添加last功能呢?

tra*_*vin 4

尝试了您列出的步骤,它适用于简单的查找语句。当我添加“跳过”时,保存失败。即使更新现有功能也不起作用。也许是 Robo 的问题?我不知道。

无论如何,要在Robo3t中添加该功能

  1. 右键收藏
  2. 选择打开外壳
  3. 在 shell 上输入以下内容

db.system.js.save(
   {
     _id: "last",
     value : function last(x) { return db.test.find().skip(db.test.count() - x); }
   }
)
Run Code Online (Sandbox Code Playgroud)

最后,运行脚本并刷新 Function 文件夹。