保存在数据库中后,对象数组修改为对象数组

时间:2019-06-13 19:27:33

标签: javascript arrays json object

大家好,我在这里遇到这个问题,我将字符串化的对象数组发送到服务器[{foo: 'bar', bar: 'foo'}, {foo: 'bar1', bar: 'foo1'}],并在将此属性保存到DB中之后(在解析后)

ingredients: {
    type: Schema.Types.Array,
    default: [],
    required: true        
 },

进行查询并转到[ [ {foo: 'bar', bar: 'foo'} ], [ {foo: 'bar1', bar: 'foo1'} ] ]

为什么会发生这种情况以及如何解决?谢谢!

2 个答案:

答案 0 :(得分:0)

不确定为什么会发生,但是您可以flatten数组:

var arr1 = [1, 2, [3, 4]];
arr1.flat(); 
// [1, 2, 3, 4]

答案 1 :(得分:0)

似乎您在定义模式时犯了一个错误。

根据您的架构,您正在存储数组。所以这就是为什么要返回数组的原因。

尝试更改架构以存储成分而不是数组。

希望有帮助!