c# - 如何防止在更新到 MongoDB 时出现 "_t"字段?

标签 c# mongodb

我有一个应用程序,它使用 MongoDB 的 c# 驱动程序将更新插入到 MongoDB 数据库中。当我调用Update 函数时,我无法指定我要更新的类型,然后插入一个_t 字段,其中包含元素的类型。

这是我用来更新插入的代码:

collection.Update(
    Query.EQ("key", item.Key),
    Update.Replace(item),
    UpdateFlags.Upsert
);

结果如下:

mongodbscreenshot

当我进行初始插入时,这不会发生,因为我可以指定类型。

如何在不插入 _t 字段的情况下制作 Upserts?

[编辑] 这是我用来插入的代码:

collection.InsertBatch(ItemType, items);

最佳答案

您可以在Update.Replace 方法中传递ItemType:

collection.Update(
    Query.EQ("key", item.Key),
    Update.Replace(ItemType, item),
    UpdateFlags.Upsert
);

关于c# - 如何防止在更新到 MongoDB 时出现 "_t"字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24199862/

相关文章:

c# - 断点在 Visual Studio 2017 中的 xamarin uwp 中不起作用

javascript - mongo javascript --eval 失败

ruby-on-rails - 在 MongoDB 中存储数据的有效方法 : embedded documents vs individual documents

node.js - 如何使用可选的快速查询参数编写 Mongoose 查询?

java - 在 Spring-Boot 中,我们如何在同一个项目中连接两个数据库(Mysql 数据库和 MongoDB)?

c# - 从 Wunderground 解析 JSON 预测数据

c# - Enumerable.Max() 如果有两个最大值

c# - C# 的 Dictionary<key, value> 的 Java 类版本

c# - 生成 soap xml 消息的最佳方式?

angularjs - MEANJS:将base64图像发送到服务器的最佳方式