繁体   English   中英

猫鼬模式如何添加数组

[英]Mongoose schema how to add an array

我想知道如何在Moongoose模式中添加字符串数组。

我有以下代码,但无法正常工作:

var message = new Schema({
    topic: String,
    content: String,
    restriction:String,
    sender:String,
    reciever:String,
    users:[String],
    read:{type: String, default: 'no'},
    like:{ type: Number, default: 0 },
    created_at: {type: Date, default: Date.now}
});

我说的是users 你能帮我吗?

将您在评论和主要帖子中所说的话汇总在一起,我不禁认为您缺少猫鼬的建模步骤。

首先,定义架构:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

var MessageSchema = new Schema({
    topic: String,
    content: String,
    restriction:String,
    sender:String,
    reciever:String,
    users:[String],
    read:{type: String, default: 'no'},
    like:{ type: Number, default: 0 },
    created_at: {type: Date, default: Date.now}
});

然后,您必须告诉猫鼬:

const Message = mongoose.model('Message', MessageSchema);

然后,您可以创建一个实例以将数据放入:

mongoose.connect('mongodb://localhost:27017/mydb'); // assuming that's a working mongo instance
let message = new Message();
message.users.push('Juliana');
message.save((e,u) => { console.log('New user saved!'); });

如果我写错了,请发布更多有关无法正常工作的信息。

var message = new Schema({
      topic: String,
      content: String,
      restriction:String,
      sender:String,
      reciever:String,
      users:[{
        type: String
      }],
      read:{type: String, default: 'no'},
      like:{ type: Number, default: 0 },
      created_at: {type: Date, default: Date.now}
    });

尝试这个

var message = new Schema({
      topic: String,
      content: String,
      restriction:String,
      sender:String,
      reciever:String,
      users:[
      {name: String}],
      read:{type: String, default: 'no'},
      like:{ type: Number, default: 0 },
      created_at: {type: Date, default: Date.now}

    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM