我想写一个长脚本来插入和更新mongodb数据.

  1. 可以调用包含脚本的外部js文件吗?
  2. 是否可以从正在运行的js文件中包含另一个js文件?

推荐答案

Use 100

load(filename)

您可以直接从mongo shell调用任意.js个文件,mongo将执行JavaScript.

Example : mongo localhost:27017/mydb myfile.js

这将执行myfile.mongo shell中的js脚本通过localhost中的27017端口连接到mydb数据库.

对于加载外部js,您可以编写

load("/data/db/scripts/myloadjs.js")

假设我们有两个js文件myFileOne.js和MyFile2.js

myFileOne.js

print('From file 1');
load('myFileTwo.js');     // Load other js file .

myFileTwo.js

print('From file 2');

MongoShell

>mongo myFileOne.js

Output

From file 1
From file 2

Mongodb相关问答推荐

查找/查找单个深度嵌套文档的多个集合

如何在MongoDB中通过限制和跳过查找项进行匹配

MongoDB聚合如何对对象数组中的值求和

MongoDB $lookup 查找字段值数组

MongoDB 聚合 - 条件 $lookup 取决于字段是否存在

pymongo - ifnull 重新调整整个对象而不是特定字段

mongo如何通过聚合加载嵌套文档

@DynamicPropertySource 未被调用(Kotlin、Spring Boot 和 TestContainers)

MongoDB:使用数组过滤器进行更新插入

MongoDB 文档操作是原子的和隔离的,但它们是否一致?

为什么不建议在 MongoDB 中使用服务器端存储函数?

Mongoose 不创建新集合

mongodb nodejs - 转换圆形 struct

MongoDB 日志(log)文件和 oplog 有何不同?

MongoDB 在 mongoengine 中使用 OR 子句

MongoDB MapReduce - 发出一个键/一个值不调用reduce

MongoDB备份计划

我在更新中对 $set 和 $inc 做错了什么

缩短 MongoDB 属性名称值得吗?

Mongodb Compass 无法在 Ubuntu 18.10 中打开