<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 07:37:59 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[DOCS-130] Improve C++ Driver Documentation</title>
                <link>https://jira.mongodb.org/browse/DOCS-130</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I&apos;m one of the (rare?) I guess users of the C++ driver and learning how to use it has been a nightmare.&lt;/p&gt;

&lt;p&gt;Here&apos;s a list of issues I found:&lt;br/&gt;
--------------------------------&lt;br/&gt;
1. The file, bsondemo.cpp is not actually on github (or the mutlitude of links on mongodb.org do not point to it)&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Almost all of your documentation points the user to this &quot;example&quot; - which does not exist.&lt;br/&gt;
2. You should provide more examples, one common case is when a user is modifying an object in the database.&lt;/li&gt;
	&lt;li&gt;Querying, updating, inserting etc. that relate to the _id field are prolematic, as they rely on the user&apos;s use of mongo::OID object properly&lt;br/&gt;
     This has not been documented, there&apos;s no examples, and your doxygen docs are somewhat innacurate most of the time.&lt;br/&gt;
     Significant time to discover what should be a simple operation.&lt;br/&gt;
3. More examples.  There&apos;s a tiny splattering of 3-4 lines of code which infer a few simple use cases.&lt;br/&gt;
4. The BSON_ARRRAY macro is barely documented at all.&lt;/li&gt;
	&lt;li&gt;example: How to create an empty BSON_ARRAY() object?  ie: All examples assume that the BSON_ARRAY being created has an element.  Trying:&lt;br/&gt;
     BSON_ARRAY()&lt;br/&gt;
     BSON_ARRAY([])&lt;br/&gt;
     vector&amp;lt;mongo::BSONElement&amp;gt; v;  BSON_ARRAY(v)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;None of those natural and intitive guesses work, but creation of an empty array is a pretty standard thing to do if you&apos;re setting up something to push data into.&lt;/p&gt;

&lt;p&gt;5. work with someone to develop use cases for &quot;new users&quot; and try to document some of their common issues.&lt;br/&gt;
6. Review your mongodb.org page and where you see the page says, &quot;This page documentation is out of date, but the general ideas hold&quot; and actually update, once a user gets past the general concepts, we actually need to know syntax.  Especially since none of it is documented.&lt;/p&gt;

&lt;p&gt;7. review zeroMQ&apos;s &quot;the guide&quot; as an example of decent documentation, examples in multiple languages, and a relatively complete attempt to anticipate the pitfalls new users would run into and provide reasonable information to them.&lt;/p&gt;
</description>
                <environment>Linux I suppose</environment>
        <key id="30813">DOCS-130</key>
            <summary>Improve C++ Driver Documentation</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="3">Duplicate</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="mwieher">Michael Wieher</reporter>
                        <labels>
                            <label>doxygen</label>
                    </labels>
                <created>Thu, 16 Feb 2012 17:42:50 +0000</created>
                <updated>Thu, 23 Jun 2016 15:46:46 +0000</updated>
                            <resolved>Tue, 19 Aug 2014 23:18:46 +0000</resolved>
                                                                    <component>drivers</component>
                        <due></due>
                            <votes>3</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="180705" author="dan@10gen.com" created="Tue, 30 Oct 2012 21:45:44 +0000"  >&lt;p&gt;Including a long thread for reference on building the C++ driver in windows: &lt;a href=&quot;https://groups.google.com/forum/?fromgroups=#!topic/mongodb-dev/7ahv1GiaV24&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://groups.google.com/forum/?fromgroups=#!topic/mongodb-dev/7ahv1GiaV24&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="159731" author="plug_gulp" created="Sat, 1 Sep 2012 23:42:42 +0000"  >&lt;p&gt;This is a very important ticket. For e.g. I am looking for examples on how to use serialization and deserialization of objects and don&apos;t see any! Please could you expedite this ticket? mongodb is written in C+&lt;ins&gt;, hence providing documentation for C&lt;/ins&gt;+ driver should be relatively easy. The least that can be done is to provide examples in the doxygen generated document itself - i.e. each class should contain source example in C++ on how to use is.&lt;/p&gt;

&lt;p&gt;Thanks and regards,&lt;/p&gt;

&lt;p&gt;Plug&lt;/p&gt;

&lt;p&gt;PS: For inspiration please look at Qt documentation.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="84896">DOCS-1779</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="291370">DOCS-8158</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="27206">DOCS-96</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="50201">DOCS-512</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="49495">DOCS-492</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sat, 1 Sep 2012 23:42:42 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        11 years, 16 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>jess.mokrzecki@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            11 years, 16 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>dan@mongodb.com</customfieldvalue>
            <customfieldvalue>mwieher</customfieldvalue>
            <customfieldvalue>plug_gulp</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrsi1z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrgg5j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9526</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrz7j3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                </customfields>
    </item>
</channel>
</rss>