首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Robo3T中,如何添加自定义函数

在Robo3T中,如何添加自定义函数
EN

Stack Overflow用户
提问于 2017-09-26 06:15:39
回答 2查看 8K关注 0票数 5

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

代码语言:javascript
复制
db.getCollection('i1801').find().skip(db.getCollection('i1801').count() - 1200)

我从堆栈溢出(mongodb: how to get the last N records?)中发现,它可以编写成这样的函数:

代码语言:javascript
复制
function last(N) {
    return db.collection.find().skip(db.collection.count() - N);
}

然后我回到我的Robo3T,尝试添加一个自定义函数last(),但是没有工作,函数选项卡下什么也没有出现。

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

单击“保存”按钮后,什么都没有发生,函数选项卡下仍然没有函数。日志显示创建的函数last,以及正在刷新的函数选项卡。

那么,我如何在这里添加一个last函数?

EN

回答 2

Stack Overflow用户

发布于 2017-09-26 06:41:39

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

无论如何,要在Robo3t中添加函数

  1. 右击集合
  2. 选择Open
  3. 在shell上键入以下内容

代码语言:javascript
复制
db.system.js.save(
   {
     _id: "last",
     value : function last(x) { return db.test.find().skip(db.test.count() - x); }
   }
)

最后,运行脚本和刷新函数文件夹。

票数 4
EN

Stack Overflow用户

发布于 2019-11-05 11:12:16

用于调用函数的

db.loadServerScripts(); 调用你的函数();

  1. 右键单击集合
  2. 点击打开的外壳 https://i.stack.imgur.com/YTiGc.jpg
  3. 在shell中运行db.loadServerScripts(); https://i.stack.imgur.com/BDTBT.jpg
  4. 调用用户函数: addTwo(2,5); https://i.stack.imgur.com/EujGo.jpg

注意::对于看到的输出,请确保您的函数应该是一个返回值

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46419071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档