首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在mongo shell中"require(module)“

如何在mongo shell中"require(module)“
EN

Stack Overflow用户
提问于 2014-08-30 03:15:25
回答 2查看 4.1K关注 0票数 9

我正在写一个用于数据管理的mongo shell脚本。我想使用模块化代码来编写它,这些代码将函数库用作模块。在某些情况下,我自己的模块。在其他情况下,仔细选择node.js模块(我知道这些模块可以在Mongo shell环境中工作,例如uuid)。

不幸的是,Mongo缺乏真正的模块管理。load()不是一回事。我在找一个回填,可以说。

有没有人知道可以提供CommonJS模块加载功能的库,它足够通用,可以在Mongo shell中运行,或者已经移植到Mongo shell中运行?

是的,我知道,我可以在纯node.js环境中完成。但是,如果有一个真正的模块加载器可以在mongo shell中工作,那将是我的首选。

EN

回答 2

Stack Overflow用户

发布于 2015-11-09 19:08:44

好吧,这里有一些让它工作的小贴士。

首先,如果您的CommonJS模块不需要任何模块,那么简单的方法如下:

代码语言:javascript
复制
var module = {};

load('/lib/migration/forms.js');

print(typeof module.exports);

第二,如果您的模块需要其他模块,则需要使用browserify构建单个模块,并像上面的示例中那样要求它。

票数 7
EN

Stack Overflow用户

发布于 2014-08-30 10:10:05

不是的。mongo shell是它自己的运行V8引擎的javascript环境。您不能将Node.js模块加载到mongo shell中,就像不能加载到浏览器中一样。许多Node函数不会成为mongo shell环境的一部分。您可以使用Node.js中的Node.js驱动程序,这样就可以使用Node模块,或者可以尝试将必要的位放入js文件中,以便在运行shell时运行该文件来设置适当的环境,例如

代码语言:javascript
复制
mongo --shell mymongohost:port/myDB myjsfunctions.js
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25574826

复制
相关文章

相似问题

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