node.js - Can't save object pushed to array -



node.js - Can't save object pushed to array -

hi have unusual issue mongoose.

group.findbyid(req.params.group_id, function(err, group){ user.findone(req.body, function(err, user){ group.users.push(user); user.groups.push(group); group.save(); user.save(); res.json({group: group, user: user}); homecoming true; }); });

i seek create double way relation between user , group. user pushed group.users array , saved perfectly. issue appear when seek save grouping in user.groups array. there no action on mongo side until seek run action again. old element saved properly, , new 1 still don't saved. on express side seems fine, , objects returned front end end valid.

here have visualization of problem

> grouping user group.users in database user.groups in database > group1 user1 [user1] [] > group2 user2 [user1, user2] [group1] > group3 user3 [user1, user2, user3] [group1, group2]

i hope understand key of issue.

do have advice of how prepare problem?

it due async operation of save need nest them (assuming using refs array subdocuments):

group.findbyid(req.params.group_id, function(err, group){ user.findone(req.body, function(err, user){ group.users.push(user); group.save(function (err, group) { user.groups.push(group); user.save(function (err, group) { res.json({group: group, user: user}); }); }); }); });

i using library async speed process since 2 queries find grouping , user aren't dependent on each other.

node.js mongoose

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -