猫鼬不保存对象数组

Posted

技术标签:

【中文标题】猫鼬不保存对象数组【英文标题】:Mongoose not saving array of objects 【发布时间】:2018-07-12 15:06:00 【问题描述】:

我是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 两者都是数组我不知道为什么不工作

【问题讨论】:

How to define object in array in Mongoose schema correctly with 2d geo index的可能重复 【参考方案1】:

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

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

【讨论】:

它有效,但是当我必须检索时,我必须使用 JSON.parse()【参考方案2】:

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

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

【讨论】:

以上是关于猫鼬不保存对象数组的主要内容,如果未能解决你的问题,请参考以下文章

猫鼬不发送更新的结果[重复]

猫鼬不发送更新的结果[重复]

如何将json对象数组保存到猫鼬?

如何将json对象数组保存到猫鼬?

使用猫鼬将对象数组添加到子文档

无法在用户对象(猫鼬)中保存消息 ID