我正在使用 MongoDB C# 驱动程序构建一些更新语句。C# API在命名空间中包括 Wrapped 和“Un-Wrapped”方法Builder
。
从表面上看,这些似乎因泛型不同而不必使用BSON包装器。但是,这两种方法类型都允许我传入非 Bson-Wrapped 参数。两者在功能上有区别吗?
例如(使用驱动程序 v1.2),这里有两种用法Update.Set
:
var myCollection = database.GetCollection<MyObject>(typeof(MyObject).Name);
myCollection.Update(
Query.EQ( "_id", myId ),
Update.Set( "Message", "My message text"));
// And now the same call with "Wrapped" method
myCollection.Update(
Query.EQ( "_id", myId ),
Update.SetWrapped( "Message", "My message text"));
这两个调用有什么区别?如果只是语法糖 - 为什么需要 Wrapped 版本?