node.js - 如何在 mongodb-memory-server 中设置初始数据?

标签 node.js mongodb mongoose

我正在考虑使用 mongodb-memory-server:https://github.com/nodkz/mongodb-memory-server用于 Node 应用程序中的集成/单元测试。

对于很多测试来说,在运行测试之前在数据库中拥有一些现有数据是很好的(甚至是必要的)。填充数据库的一种方法是制作一个通用脚本或函数,可以创建所有测试文档,并在每个测试用例之前调用该脚本,但恐怕脚本会很乱,而且很难创建文档之间的所有引用等。

因此,我想弄清楚是否可以创建沙箱数据库的完整转储(可能是我们现有生产数据库的子集),以便在每个测试用例之前初始化 mongodb-memory-server?

这可能吗?有没有更好的方法呢?

最佳答案

在github上得到了答案:https://github.com/nodkz/mongodb-memory-server/issues/309

事实证明,没有内置方法可以使用给定的 dbdump 初始化数据库。建议做一个脚本。

不过,一个技巧是使用 dbPath 选项来控制数据库存储在哪个文件夹中,然后覆盖该文件夹。

关于node.js - 如何在 mongodb-memory-server 中设置初始数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61854997/

相关文章:

node.js - 使用表单将 3 个相同的内容传递给 ExpressJS

javascript - meteor react 错误: Cannot read property '0' of undefined

javascript - Mongoose 用 promise 保存并填充

node.js - Mongoose:无法在保存回调中更新

node.js - 从 dynamodb 中删除项目时清空数据对象

java - 对于 XML 数据 Mongodb 和 orientdb 哪一个更好

database - 如何删除 MongoDB 中的所有数据库?

javascript - $inc 查询的 Nodejs 和 Mongoose 呈现路径

node.js - 在实际调用我的passwordMatch函数之前,Passport 无法通过 "Wrong password"进行身份验证

node.js - $eq 不适用于 $unwind 结果 mongoose