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