为什么bson_iter_type是0x27,0x17?

时间:2015-02-23 16:14:40

标签: bson

我使用bson_iter_type()来获取iter的类型。但结果(0x27,0x17,0x1a,0x1b)未列在官方文件mongodb-api-document中。为什么呢?

1 个答案:

答案 0 :(得分:0)

在bson_iter_init(& iter,my_bson_doc)之后,iter不会指向第一个元素,而是指向第一个元素之前的某个元素。在bson_iter_init(& iter,my_bson_doc)和bson_iter_next(& iter)之后,如果bson中至少有一个元素,iter将指向第一个元素。所以,我的问题源于bson_iter_type()的返回不是第一个元素的类型,而是其他东西。 现在,调用bson_iter_next(& iter)以确保它指向bson_iter_type()之前的第一个元素。我的问题解决了。