从驱动程序v1迁移C#驱动程序v2中的更新文档

kn3l

我的代码使用C#Mongo驱动程序版本1 Repository

        /// <summary>
        ///  Generic update method to update record on the basis of id
        /// </summary>
        /// <param name="queryExpression"></param>
        /// <param name="id"></param>
        /// <param name="entity"></param>
        public void Update(Expression<Func<T, string>> queryExpression, string id, T entity)
        {
           var query = Query<T>.EQ(queryExpression, id);
           _collection.Update(query, Update<T>.Replace(entity)); 
        }

然后将代码更改为C#驱动程序版本2

    /// <summary>
    ///  Generic update method to update record on the basis of id


     /// </summary>
    /// <param name="queryExpression"></param>
    /// <param name="id"></param>
    /// <param name="entity"></param>
    public void Update(Expression<Func<T, string>> queryExpression, string id, T entity)
    {
       // var query = Query<T>.EQ(queryExpression, id);
        //_collection.Update(query, Update<T>.Replace(entity));


        var query = Builders<T>.Filter.Eq(queryExpression, id);
        var update = Builders<T>.Update.Set(queryExpression, id);
        _collection.UpdateOneAsync(query, update); ;

    }

我使用(controller致电

 public void Update(PostModel post)
        {
            _postRepo.Posts.Update(s => s.Id, post.Id, post);
        }

我没有得到文档更新。您知道我的迁移代码是什么问题。

谢谢

DAXaholic

您调用一个异步方法,而await使用异步方法_collection.UpdateOneAsync(query, update);不是问题的根本原因,但是在这种情况下,您没有适当的异常处理。
要么await使用相应的同步版本UpdateOne,要么


您可能还希望将ReplaceOne用作V1驱动程序的初始版本,并且也进行了整个文档的替换。以下内容应符合您的需求(尽管未测试)

...
var query = Builders<T>.Filter.Eq(queryExpression, id);
_collection.ReplaceOne(query, entity);
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从驱动程序v1迁移C#驱动程序v2中的更新文档

来自分类Dev

mongoDB:C#驱动程序V2如何更新嵌套集合中的项目

来自分类Dev

使用C#驱动程序v2 API调试MongoDB查询

来自分类Dev

MongoDB C#驱动程序2.0-更新文档

来自分类Dev

带有聚合管道的MongoDB C#驱动程序更新文档

来自分类Dev

Kinect v2驱动程序,用于Ubuntu(音频)

来自分类Dev

Web API 2和Mongodb v2将示例代码迁移到使用驱动程序版本2

来自分类Dev

MongoDB C#驱动程序-更新嵌入式文档数组中的所有字段

来自分类Dev

在Neo4j OGM Java驱动程序v2中打开会话时,驱动程序为空

来自分类Dev

如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

来自分类Dev

如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

来自分类Dev

联想G500 DOLBY ADVANCED AUDIO v2的音频驱动程序

来自分类Dev

MongoDB C#驱动程序-更新许多文档时的性能问题

来自分类Dev

使用MongoDB和C#新驱动程序版本(2.0)更新集合中的嵌入式文档

来自分类Dev

mongodb C#驱动程序更新多个字段

来自分类Dev

MongoDB C#官方驱动程序批量更新

来自分类Dev

mongodb c ++驱动程序无法更新

来自分类Dev

MongoDB C#驱动程序超时

来自分类Dev

如何使用C#驱动程序删除mongodb文档中的嵌套数组元素

来自分类Dev

复合查询以在MongoDb C#驱动程序中查找文档

来自分类Dev

使用C#驱动程序上的复杂查询从集合中删除文档

来自分类Dev

使用C#驱动程序在mongodb中查找计算值最高的文档

来自分类Dev

使用C#驱动程序上的复杂查询从集合中删除文档

来自分类Dev

复合查询以在MongoDb C#驱动程序中查找文档

来自分类Dev

使用C#驱动程序在mongodb中查找计算值最高的文档

来自分类Dev

如何在MongoDB C#驱动程序中按值的字段范围选择文档?

来自分类Dev

Mongodb C# 驱动程序只返回数组中匹配的子文档

来自分类Dev

图形驱动程序更新

来自分类Dev

在MongoDB C#驱动程序中获取生成的脚本

Related 相关文章

  1. 1

    从驱动程序v1迁移C#驱动程序v2中的更新文档

  2. 2

    mongoDB:C#驱动程序V2如何更新嵌套集合中的项目

  3. 3

    使用C#驱动程序v2 API调试MongoDB查询

  4. 4

    MongoDB C#驱动程序2.0-更新文档

  5. 5

    带有聚合管道的MongoDB C#驱动程序更新文档

  6. 6

    Kinect v2驱动程序,用于Ubuntu(音频)

  7. 7

    Web API 2和Mongodb v2将示例代码迁移到使用驱动程序版本2

  8. 8

    MongoDB C#驱动程序-更新嵌入式文档数组中的所有字段

  9. 9

    在Neo4j OGM Java驱动程序v2中打开会话时,驱动程序为空

  10. 10

    如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

  11. 11

    如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

  12. 12

    联想G500 DOLBY ADVANCED AUDIO v2的音频驱动程序

  13. 13

    MongoDB C#驱动程序-更新许多文档时的性能问题

  14. 14

    使用MongoDB和C#新驱动程序版本(2.0)更新集合中的嵌入式文档

  15. 15

    mongodb C#驱动程序更新多个字段

  16. 16

    MongoDB C#官方驱动程序批量更新

  17. 17

    mongodb c ++驱动程序无法更新

  18. 18

    MongoDB C#驱动程序超时

  19. 19

    如何使用C#驱动程序删除mongodb文档中的嵌套数组元素

  20. 20

    复合查询以在MongoDb C#驱动程序中查找文档

  21. 21

    使用C#驱动程序上的复杂查询从集合中删除文档

  22. 22

    使用C#驱动程序在mongodb中查找计算值最高的文档

  23. 23

    使用C#驱动程序上的复杂查询从集合中删除文档

  24. 24

    复合查询以在MongoDb C#驱动程序中查找文档

  25. 25

    使用C#驱动程序在mongodb中查找计算值最高的文档

  26. 26

    如何在MongoDB C#驱动程序中按值的字段范围选择文档?

  27. 27

    Mongodb C# 驱动程序只返回数组中匹配的子文档

  28. 28

    图形驱动程序更新

  29. 29

    在MongoDB C#驱动程序中获取生成的脚本

热门标签

归档