【发布时间】:2011-07-24 03:26:37
【问题描述】:
我正在将 BSON 测试为有线协议,并且我需要能够更改已经创建的 BSONObj 上的一些值...问题是除了从从头开始!
有什么建议吗?
【问题讨论】:
我正在将 BSON 测试为有线协议,并且我需要能够更改已经创建的 BSONObj 上的一些值...问题是除了从从头开始!
有什么建议吗?
【问题讨论】:
正如所说,没有办法改变现有的 BSONObj。但是有一种解决方法可以做到这一点,而无需“从头开始”重新创建它。假设你有一个 BSONObj mybson。并且您想更改字段“somefield”。
mybson = mybson.removeField("somefield");
mybson = BSONObjBuilder().appendElements(mybson).append("somefield", newvalue).obj();
【讨论】:
我收到了来自 10gen 的 Dwight Merriman 的回复:
一般来说它们是不可变的—— 常见的用法是 从 cpp 序列化/反序列化 您选择的对象。另请参阅 和 $inc 但它们是服务器端的。
所以...我们有它:)
【讨论】: