mongo C++ 驱动程序中的空 BSON_ARRAY()

Empty BSON_ARRAY() in mongo C++ driver

以下适用于 mongo C++ BSON() 和 BSON_ARRAY() 宏:

  BSONObj cr4 = BSON("providingApplication" << "http://cpr2.com" <<
                     "entities" << BSON_ARRAY(
                         BSON("id" << "E1" << "type" << "T")
                         ) <<
                     "attrs" << BSON_ARRAY(
                         BSON("name" << "A5" << "type" << "T" << "isDomain" << "false")
                         )
                     );

但是,如果我尝试对 attrs 字段使用空的 BSON 数组

  BSONObj cr4 = BSON("providingApplication" << "http://cpr2.com" <<
                     "entities" << BSON_ARRAY(
                         BSON("id" << "E1" << "type" << "T")
                         ) <<
                     "attrs" << BSON_ARRAY()
                     );

它不起作用(甚至无法编译)。

关于如何在 mongo c++ 驱动程序中使用 BSON 宏生成空数组的提示,请问?

看来BSONArray()解决了问题:

  BSONObj cr4 = BSON("providingApplication" << "http://cpr2.com" <<
                     "entities" << BSON_ARRAY(
                         BSON("id" << "E1" << "type" << "T")
                         ) <<
                     "attrs" << BSONArray()
                     );

感谢 Öö Tiib 的提示!