在Mongoose模式中保存数组

时间:2017-07-24 19:19:13

标签: node.js mongodb mongoose-schema

假设我想拥有一个数据架构:每个用户都可以拥有许多笔记本电脑,而有些笔记本电脑可用,有些则没有。 我希望我能得到一些类似的模式,

User
| userId: 1
| laptops:
   | laptopId: 1  available: true  //default
   | laptopId: 2  available: true  

如何定义此类架构? 以下是不正确的:

const User = new mongoose.Schema({
  userId: {
    type: String,
    index: { unique: true }
  },
  laptops: {
    laptopId: String,
    available: Boolean
  }
});

如何在node.js中的Mongoose中定义它?

1 个答案:

答案 0 :(得分:1)

您只需使用方括号,如下例所示:

const User = new mongoose.Schema({
  userId: {
    type: String,
    index: { unique: true }
  },
  laptops: [{
    laptopId:{
        type: String
    },
    available: {
        type: Boolean
    }
  }]
});

检查official docs for allowed SchemaTypes.

相关问题