Mongoose 模式如何添加数组

jul*_*les 4 mongodb node.js

我想知道如何在 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}
});
Run Code Online (Sandbox Code Playgroud)

我在谈论users. 你能帮我吗?

Pau*_*aul 5

将您在评论和主要帖子中所说的拼凑在一起,我不禁认为您错过了猫鼬的建模步骤。

首先定义架构:

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}
});
Run Code Online (Sandbox Code Playgroud)

然后你必须告诉猫鼬:

const Message = mongoose.model('Message', MessageSchema);
Run Code Online (Sandbox Code Playgroud)

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

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!'); });
Run Code Online (Sandbox Code Playgroud)

如果我错了,请发布更多关于什么不起作用的信息。