Я внедряю систему утверждения с использованием Mongoose, Express и NodeJS.Mongoose save() возвращает до findOne()
Каждое сообщение имеет 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 }
});
Я пытаюсь найти отображение первого в моей функции, а затем обновить основной пост объект на сохранения.
Мне нужно получить оба идентификатора подтверждения, прежде чем сохранять новое сообщение.
Пожалуйста, предложите хороший способ для этого. Сейчас я делаю:
- Сохранить новый Post объект Сохранить // возвращает после 2-го шага, я KNW сохранить в Мангуста в асинхронном, но я не хочу, шаг 2 можно назвать, прежде это
- Get Идентификаторы утвердителя с findOne on ApprovalMapSchema
Обновить объект публикации с утверждениями.
post.save (функции (эээ, док) { если (ERR) {} еще { console.log ({успех: правда, тзд: 'Успешный создан новый пост', содержание: док}) ; } });
/*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
Это не работает для меня. Пожалуйста помоги!
спасибо @ пользователь2263572 .. ** asyc ** сделал трюк ... это был спаситель, он много боролся за это! – andoidbaby