Mongoose模式如何添加数组

我想知道如何在moongoose模式中添加一个string数组。

我有下面的代码,但它不工作:

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 。 你能帮我吗?

把你在评论和主要post中所说的内容混合在一起,我不禁想到你错过了mongoose的build模步骤。

首先你定义模式:

 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} }); 

那么你必须告诉mongoose:

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

然后你可以创build一个实例把数据放入:

 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:[ {name: 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:[{ type: String }], read:{type: String, default: 'no'}, like:{ type: Number, default: 0 }, created_at: {type: Date, default: Date.now} });