簡體   English   中英

使用Mongoose在Mongo DB中存儲對象的Javascript數組

[英]Storing Javascript Array of Objects in Mongo DB using Mongoose

我有一個[{key: ..., type: ..., value: ...}]形式的數組,並希望將其存儲在以下模式的fields字段中:

var articleSchema = mongoose.Schema({
  name: {
    type: String,
    unique: true,
    required: true
  },
  updated: {
    type: Date,
    default: Date.now
  },
  pageviews: {
    type: Number,
    default: 0
  },
  fields: [{
    key: String,
    type: String,
    value: String
  }],
  image: String
});

我這樣做如下,我的Javascript數組引用為keyValueObj

Article.findOneAndUpdate(
  { name: articleName },
  {
    fields: keyValueObj
  },
  { upsert: true },
  callback
);

但是,存儲在數據庫中的fields字段中的所有內容都是一個字符串數組,如下所示: ["[object Object]"]

如何存儲我的Javascript數組,使其正確匹配我的貓鼬模式?

我能夠使用Molda的使用獨立模式想法來解決此問題。

現在, articleSchema已更新fields字段如下所示:

fields: [{
  type: Schema.Types.ObjectId,
  ref: 'Field'
}]

然后,我將數組轉換為架構對象數組,如下所示:

keyValueObj = keyValueObj.map(function(fieldObj){
  return new Field({
    key: fieldObj.key,
    type: fieldObj.type,
    value: fieldObj.value
  });
});

然后,我能夠將keyValueObj存儲在初始代碼中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM