0

Twitter の人がつぶやきを投稿したのにコメントが入っているようなソーシャル ネットワークを作成する必要があります。私が定義した

var Comment = new Schema();
Comment.add({
    title     : { type: String, index: true }
  , date      : Date
  , body      : String
  , created_by: { type: Schema.Types.ObjectId, ref: 'User' }
});


var TweetSchema = new Schema ({
        created_at : { type: Date, default: Date.now }
    ,   created_by: { type: Schema.Types.ObjectId, ref: 'User' }
    ,   title : String
    ,   comments : [Comment]
    ,   body : String
    ,   picture: [Url]
})

私が提供するREST APIを介してモバイルアプリケーションのリクエストを書いているので、ツイートを作成するときに、creator_infoとコメントを取得するためにサーバーに何を送信すればよいですか? 私はここで何かを読みました。しかし、ツイートやコメントを作成して作成者を設定するメソッドの書き方がわかりません。

4

1 に答える 1

2

できるよ。ツイートを保存する前に、データからユーザーを作成しようとします。失敗した場合は、エラーを渡します。そうでない場合は、created_by フィールドをユーザーの ID に設定します。

詳細については、こちらをご覧ください: http://mongoosejs.com/docs/middleware.html

TweetSchema.pre('save', function(next) {
  var user = new User(this.created_by, function(err, user) {
    if (err) return next(err);
    this.created_by = user._id;
    next();
  });
});
于 2013-02-16T20:29:43.443 に答える