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

Posted

技术标签:

【中文标题】在 Robo3T 中,如何添加自定义功能【英文标题】:in Robo3T, how to add a custom function 【发布时间】:2018-03-07 05:47:50 【问题描述】:

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

db.getCollection('i1801').find().skip(db.getCollection('i1801').count() - 1200)

我从***(mongodb: how to get the last N records?)中发现,这可以写成这样的函数:

function last(N) 
    return db.collection.find().skip(db.collection.count() - N);

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

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

点击保存按钮后,什么也没发生,功能选项卡下仍然没有功能。并且日志显示函数last 创建,并且函数选项卡正在刷新。

那么,如何在此处添加last 函数?

【问题讨论】:

【参考方案1】:

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

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

    右键收藏 选择打开外壳 在外壳上键入以下内容

db.system.js.save(
   
     _id: "last",
     value : function last(x)  return db.test.find().skip(db.test.count() - x); 
   
)

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

【讨论】:

谢谢,现在函数已经创建好了,但是我可能要问一些愚蠢的问题,因为我不懂js,也不熟悉Robo3T。创建函数last后,我该如何使用它。我试过运行 last(5)db.getCollection('rb1801').last(5)db.last(5) 都不起作用。有什么建议吗? 对于初学者,您可以查看这篇文章:***.com/questions/18185192/…【参考方案2】:

调用函数:

db.loadServerScripts(); callyourfunction();

    右键点击收藏 点击打开shellhttps://i.stack.imgur.com/YTiGc.jpg 在 shell 中运行 db.loadServerScripts();https://i.stack.imgur.com/BDTBT.jpg 调用用户函数如:addTwo(2,5);https://i.stack.imgur.com/EujGo.jpg

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

【讨论】:

以上是关于在 Robo3T 中,如何添加自定义功能的主要内容,如果未能解决你的问题,请参考以下文章

游览结束后如何在 jourde 中添加自定义功能?

后台文章编辑器的可视区域添加自定义功能按钮

如何为 Android 软键盘添加自定义功能

在“成员”Wordpress 插件中添加自定义功能

关于destoon后台添加自定义功能+前台展示标签调用方法

扩展XAF模型信息实现自定义功能