findOneAndUpdate导致重复问题


不想吃东西
2025-01-09 01:02:53 (2月前)


我在mongoose的findOneAndUpdate中遇到了问题。
案例是我通过查找来更新文档。
查询如下:

UserModel.findOneAndUpdate({
individualId:‘some id’
},{
$ …

2 条回复
  1. 0# Autistic | 2019-08-31 10-32



    我最近遇到了同样的问题。但是,我设法通过其他一些逻辑(下面给出的详细信息)克服了这个问题,但无法理解这背后的原因

    findOneAndUpdate
    </强>
    插入

    重复
    </强>
    mongodb中的条目。



    您可以通过遵循逻辑来克服此问题。



    使用

    找一个
    </强>
    要么

    findById
    </强>
    代替

    findOneAndUpdate
    </强>
    搜索集合中的文档,然后手动更新文档并运行

    保存()
    </强>



    您可以使用此代码段了解更多信息




    1. return new Promise(function (resolve, reject) {
      Model.findOne({
      someCondition
      }, function (err, item) {
      if (err) {
      reject(err);
      } else {
      item.someArray.push({
      someKeyValue
      });
      item.save().then((result) => {
      resolve(result)
      }).catch((err) => {
      reject(err)
      });
      }
      }).catch((err) => {
      reject(err)
      });
      });

    2. </code>


    这不会插入重复的项目。但是,如果您了解重复背后的原因,必须更新此线程。


登录 后才能参与评论