如果未find值,则使用mongoose将对象添加到数组,否则更新字段

我正在使用mongoose来处理MongoDB。

我有以下文件

Posts:Array 0:Object _id:58f9b2c903110b2c543fb7d1 postName:Test1 postText:Test2 postCount:0 status:true 

我想做一个HTTP请求来更新或插入一个对象到这个数组基于postName。

例如,如果我通过以下

 { postName:Test1 postText:Test3 postCount:50 status:false } 

比postName匹配,我希望它只是更新postText,postCount和状态。 如果postName不匹配数组中的任何一个对象,我希望它插入一个新的对象。

这个问题可能重复旧的问题,我search,我找不到答案。 我也尝试使用$ setOnInsert,但无法得到它的工作。

正如Veeram在评论中所回答的那样,

答案可以在这里find

PyMongo更新多个logging的文档

在单个查询中不能embedded到数组文件中