Uploaded image for project: 'C++ Driver'
  1. C++ Driver
  2. CXX-1618

C++ Syntactic Delights

    XMLWordPrintableJSON

Details

    • Epic
    • Status: Closed
    • Major - P3
    • Resolution: Duplicate
    • None
    • None
    • API
    • None

    Description

      • More convenient C++ BSON builder syntax
      • Maybe a fast field lookup operator[]
      • Maybe cursor::foreach
      • Maybe a nicer way to iterate over bson elements. Right now, to iterate over a nested document or array, it's necessary to call get_document()/get_array():

      for (auto&& element : doc["subarray"].get_array().value) {}
      

      It should be possible to return an array or document iterator immediately, depending on the type of the element.

      for (auto&& element : doc["subarray"]) {}
      

      Ideas courtesy of ryan.timmons:

      • Maybe a bson_doc["item"].to_json() rather than to_json(bson_doc["item"]). A static method bsoncxx::document.from_json() would complement this nicely.
      • Better document best practices for usage of views/values/value_or_views, since this seems to be a common point of confusion.
      • Maybe a better way to go from a bson type to a native type, e.g. bson_val.as<int>()

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jesse@mongodb.com A. Jesse Jiryu Davis
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: