Mongoose、Express、NodeJS を使用して承認システムを実装しています。
各投稿には 2 セットの承認があります。
私は以下のようにモデルを実装しました:
Post Schema:
var PostSchema = new Schema({
UserId: { type: ObjectId, unique: true, default: null },
/..
.. Object related fields
../
Approval1: Object, //chidschema objects of approver
Approval2: Object
});
Approval Mapping Schema:
var ApprovalMapSchema = new Schema({
UserId: { type: ObjectId, unique: true, default: null },
Approver1Id: { type: ObjectId, default: null },
Approver2Id: { type: ObjectId, default: null }
});
関数で最初にマッピングを見つけてから、保存時にメインの投稿オブジェクトを更新しようとしています。
新しい投稿を保存する前に、両方の承認者 ID を取得する必要があります。
うまくいく方法を教えてください。私は現在やっています:
- Save を使用して新しい Post オブジェクトを保存します。
- ApprovalMapSchema で findOne を使用して承認者 ID を取得する
承認者のエントリで Post オブジェクトを更新します。
post.save(function(err, doc) { if (err) {} else { console.log({success: true, msg: 'Successful created new post', content: doc}); } });
/*var actId = activation._id, distributorId, ttlId; var approvalMap = ApprovalMap.findOne({ userId: myUserId }, function(err, appMap) { if (err) throw err; else{ Approver1Id = appMap.Approver1Id; Approver2Id = appMap.Approver2Id; } }); // Create child objects after this and update as subdocument
これは私にとってはうまくいきません。助けてください!