在向上插入MongoDB时,如何防止出现“ _t”字段?

Joa*_*nvo 5 c# mongodb

我有一个使用MongoDB的c#驱动程序将Upserts转换为MongoDB数据库的应用程序。调用Update函数时,无法指定要更新的类型,然后_t插入带有元素类型的字段。

这是我用来升级的代码:

collection.Update(
    Query.EQ("key", item.Key),
    Update.Replace(item),
    UpdateFlags.Upsert
);
Run Code Online (Sandbox Code Playgroud)

结果如下:

mongodb截屏

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

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

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

collection.InsertBatch(ItemType, items);
Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 4

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

collection.Update(
    Query.EQ("key", item.Key),
    Update.Replace(ItemType, item),
    UpdateFlags.Upsert
);
Run Code Online (Sandbox Code Playgroud)