我正试图在MongoDB的更新查询中使用C驱动程序。$push
方法需要一个字符串名称(这很好),并“pushed”一个bsonValue。这就是我遇到问题的地方。我试图将一个非简单类型推送到字段数组中。
例如:Update.Push(...)
这在Mongo控制台中工作得很好,但是我不知道如何将我的对象变成bsonValue。我尝试过{ $push : { "arrayfield" : { "a" : 7, "b" : 12 } } }
但这会给我一个错误,说明.NET类型无法映射到bsonValue。
我错过了简单的东西吗?
最佳答案
我知道两种方法:Update.PushWrapped<MyObject>("arrayfield", myObjectInstance);
>/c驱动程序>=1.0
或者通过扩展方法将类转换为BsonValue
yourself。ToBsonDocument()