<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:23:11 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>[DRIVERS-1305] Clarify that dollar-prefixed fields not matching known types are left as-is during parsing</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-1305</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;During a scope review for the &quot;Mitigate pain of using field names with dots and dollars&quot; server project, questions were raised about how the Extended JSON spec handles the case of parsing dollar-prefixed fields.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/extended-json.rst#parsers&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Parsers&lt;/a&gt; section of the spec states:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;When parsing a JSON object other than the top-level object, the presence of a $-prefixed key indicates the object could be a type wrapper object as described in the Extended JSON Conversion table. In such a case, the parser MUST follow these rules, unless configured to allow Legacy Extended JSON, in which case it SHOULD follow these rules&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;It goes on to say that dollar-prefixed fields matching a known type shall be strictly validated against the structure defined in the spec; however, the spec does not address how dollar-prefixed fields not matching a known type code should be handled.&lt;/p&gt;

&lt;p&gt;In the interest of the server project, such fields should be left as-is. This is a first step to ensuring compatibility with the project, and can be addressed before a future ticket to introduce some syntax for escaping dots/dollars in extended JSON (which will ultimately allow conflicts with types like $numberLong to be avoided entirely).&lt;/p&gt;</description>
                <environment></environment>
        <key id="1387430">DRIVERS-1305</key>
            <summary>Clarify that dollar-prefixed fields not matching known types are left as-is during parsing</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="13201">Fixed</resolution>
                                        <assignee username="jmikola@mongodb.com">Jeremy Mikola</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Jun 2020 21:44:09 +0000</created>
                <updated>Sat, 28 Oct 2023 10:44:30 +0000</updated>
                            <resolved>Thu, 1 Oct 2020 07:26:48 +0000</resolved>
                                                        <component>Extended JSON</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="3420081" author="jmikola@gmail.com" created="Thu, 1 Oct 2020 03:41:30 +0000"  >&lt;p&gt;Note: While documenting this in the Extended JSON spec and looking into whether we needed a test case, I came across &lt;a href=&quot;https://github.com/mongodb/specifications/blob/bd4ef181d28b26dd4e37220c3b4df2d98d3149c4/source/bson-corpus/tests/top.json#L6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&quot;Document with keys that start with $&quot; in &lt;tt&gt;top.json&lt;/tt&gt;&lt;/a&gt;, which dates back to SPEC-849.&lt;/p&gt;

&lt;p&gt;As such, I believe this ticket is simply a clarification (warranting a patch bump rather than minor version bump) and will require no behavior changes to drivers.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10940"><![CDATA[Not Needed]]></customfieldvalue>

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