<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:14:13 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>[CDRIVER-2112] How to retrieve document values</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-2112</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;After getting a document via &lt;em&gt;mongoc_collection_find_with_opts&lt;/em&gt;, how can one retrieve its object values. In all the documentation and tutorial examples, the only thing seems to make a JSON representation of the document. For instance, getting a document from the &lt;em&gt;restaurants&lt;/em&gt; collection (with a resctricting projection):&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{&quot;borough&quot;:&quot;Bronx&quot;,&quot;cuisine&quot;:&quot;Bakery&quot;,&quot;grades&quot;:[{&quot;date&quot;:{&quot;$date&quot;:1393804800000}},...],&quot;name&quot;:&quot;Morris Park Bake Shop&quot;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;In particular, unlike when exporting a collection, dates are numerical and there are no examples explaining how to retrieve a human readible value.&lt;br/&gt;
When accessing MongoDB from java, there are a set of functions enabling to retrieve values from a document, such as &lt;em&gt;getDouble&lt;/em&gt;, but looking in C driver API reference, there are no functions related to bson_document. I am missing something or are they missing from the C driver API?&lt;br/&gt;
If so, the interest of this driver is very limited.&lt;/p&gt;</description>
                <environment>Windows 10</environment>
        <key id="370398">CDRIVER-2112</key>
            <summary>How to retrieve document values</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</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="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="Buggynours">Olivier Bertrand [X]</reporter>
                        <labels>
                    </labels>
                <created>Mon, 3 Apr 2017 15:41:37 +0000</created>
                <updated>Wed, 11 Sep 2019 19:05:42 +0000</updated>
                            <resolved>Mon, 3 Apr 2017 17:49:26 +0000</resolved>
                                    <version>1.6.2</version>
                                                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="1539547" author="jesse" created="Mon, 3 Apr 2017 17:49:26 +0000"  >&lt;p&gt;The C Driver uses libbson to parse and iterate documents and extract values from fields:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mongoc.org/libbson/current/parsing.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://mongoc.org/libbson/current/parsing.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To get a datetime from a bson_t, use bson_iter_init_find with the field name, then bson_iter_date_time:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mongoc.org/libbson/current/bson_iter_date_time.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://mongoc.org/libbson/current/bson_iter_date_time.html&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsxkhr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>