2016-12-07 6 views
1

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について話しています。手伝ってくれますか?

+0

docs:http://mongoosejs.com/docs/schematypes.html 'users:[String]'は書いたとおりにうまく動作します。あなたのコードで動作しないことについて少し詳しく説明できますか? – Paul

答えて

1

を試してみてください、私は助けることはできませんが、あなたはマングースのモデリングステップが欠落していると思います。

まずスキーマを定義します。そして、あなたはそれについてマングースを伝える必要があり

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.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!'); }); 

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

を次に、あなたにデータを置くためのインスタンスを作成することができます

私が間違っている場合は、何がうまくいかないかについての詳細情報を投稿してください。

0

はあなたのコメントやメインの記事で言っ一緒Cobblingこの

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} 

    }); 
+0

多くのおかげで、フィールドの更新方法を教えていただけます。新しいユーザを追加したいと言うことができます: 'message.users.push(newUsr)'; –

+0

を参照してください。http://stackoverflow.com/a/23452838/5735460 –

0
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} 
    }); 
関連する問題