使用Cypress MongoDB插件存储数据时如何避免数据被对象包裹?
问题原因
你插入数据时用了{data},这是ES6对象简写语法,等价于{data: data},所以MongoDB会把JSON文件里的原始数据包裹在data键下,导致存储格式嵌套。
解决方案
直接把{data}换成data,就能将JSON里的原始数据直接插入集合,不会额外嵌套:
修正后的代码:
const data = require('../../fixtures/data.json') // 导入数据 cy.insertOne(data, { collection: "contract_data", database: "my_db" }) // 直接传入原始data对象,而非包裹在新对象中
验证效果
修改后,MongoDB存储的文档会和你data.json里的结构完全一致。比如你的JSON内容是{id: "123", name: "测试合同"},存储后就会是:
{ _id: ObjectId("xxx"), id: "123", name: "测试合同" }
内容的提问来源于stack exchange,提问作者Karbon62
相关产品推荐
相关产品推荐

