MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

ArrayFilter in Mongodb

Sie müssen new: true verwenden um den aktualisierten Wert zu erhalten und die ID in Mongoose objectId umzuwandeln, damit es funktioniert

Post.findOneAndUpdate(
   { 'posts.replies._id': _id }, 
   { $set: { 'posts.$[post].replies.$[reply].text': "something1" } },
   { arrayFilters: [{ 'post._id': postId }, { 'reply._id': _id }], new: true }
)