Mongoose没有保存对象数组

时间:2018-02-02 06:48:36

标签: node.js mongoose

我是mongodb的新手。这是我的schema

import mongoose, { Schema } from 'mongoose';

const SomeSchema = new Schema({

  vDocs: [{type: String , required: true,  }],
  vBelongsTo: { type: Schema.Types.ObjectId, ref: 'User' }

});

const SomeSchema = mongoose.model('BlaBla', SomeSchema);
export default SomeSchema;

mongoose只保存像["bla", "bla"]这样的简单数组      vDocs

但我希望保存类似[{key: val}, {key: val}]的内容      vDocs      这两个都是数组我不知道为什么不工作

2 个答案:

答案 0 :(得分:2)

您已将type声明为字符串,但您正在尝试保存对象

 //Try This
 let newObj = new SomeSchema
 newObj.vDocs = JSON.stringify(whatEverObject)
 SomeSchema.save().then(function(v){
        // whatever 
    })

答案 1 :(得分:0)

我遇到了同样的问题,我通过更改 type: Array 解决了它。以下应该有效:

vDocs: [{ type: Array, required: true }],