我想做这样的事情
std::map<int, mongo::BSONObjBuilder> items;
for (i = 0; i <= 10; i++) {
items[i].append("description", "Car")
.append("type", "vehicle")
.append("color", "green");
}
我试过这个,但它会产生编译时错误。这可能吗?如果不是,实现这样的事情的最佳方法是什么?
问题是 std::map 要求值是可复制的,但 BSONObjBuilder 被明确定义为不可复制:https ://github.com/mongodb/mongo/blob/r2.0.4/bson/bsonobjbuilder.h#L86 。
(请注意,这也发布到我们的邮件列表https://groups.google.com/forum/?fromgroups#!topic/mongodb-user/ZVdJG64Uqic。可能会有后续讨论。)