在nodejs中创建数组对象mongodb

时间:2018-04-11 05:32:23

标签: node.js mongodb

我创建了一个架构来存储问题和答案:

var questionSchema = mongoose.Schema({
    questions : {type: String},
    details   : {type: String},
    tags      : {type: String},
    answer    : [{String}],
 });

在此我想为一个问题存储多个答案,但我有一个问题页面和不同页面的答案我的要求是在一个问题中存储多个答案的任何建议。

谢谢,

迪帕克

2 个答案:

答案 0 :(得分:1)

如果要存储字符串数组,请使用以下正确的语法:

answer: [String]

如果answer是一个对象数组,你可以这样做:

var questionSchema = mongoose.Schema({
  questions :{type: String},
  details   :{ type: String},
  tags      :{type: String},
  answer    :[{
    answer: String,
    tags: [String]
  }],
});

如果你的数据库中有answer,你可以创建一个模式并在你的问题模式中引用它:

var Answer = new Schema({
  text: String,
  user_id: Number
});

var questionSchema = mongoose.Schema({
  questions :{type: String},
  details   :{ type: String},
  tags      :{type: String},
  answer    :[Answer],
});

希望它有所帮助,
最好的问候

答案 1 :(得分:0)

你可以尝试这样吗

var questionSchema = mongoose.Schema({
    questions :{type: String},
    details   :{ type: String},
    tags      :{type: String},
    answer    :[{
                 text: String,
                }]
 });

另请参阅文档

  

http://mongoosejs.com/docs/schematypes.html#schematypes

参考链接:mongoose: Referencing schema in properties or arrays