<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:00:58 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>[JAVA-3996] Remove restrictions on using field names with dots and dollars</title>
                <link>https://jira.mongodb.org/browse/JAVA-3996</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/h4&gt;

&lt;p&gt;Remove any validation code in drivers that prevents storing data with &quot;$&quot; and &quot;.&quot; in key names. Without an MQL-wide escaping mechanism, the server will provide users with some tools that will allow them to express queries over such data. Drivers must document how to express such queries.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Many data sources, including MongoDB&apos;s own system.profile, contain information stored with dots or dollars in the key names. Any user who wishes to operate on change stream notifications, the schema of the config database, the system.profile collection, or MongoDB structured log data may need to express queries over key names with dot and dollar. Some users may also ingest unsanitized data from outside sources, and currently would be forced to implement their own escaping before storing the data in order to ensure it is queryable. Many users also wish to use well-known formats that involve dots as key names, such as URLs or IP addresses.&lt;/p&gt;

&lt;p&gt;MQL has limited facilities for expressing queries over such data. Historically, both the driver and the server have rejected attempts to insert data of this form in order to prevent a situation where users have data over which they cannot easily express queries. This is a common source of complaint from the user&lt;/p&gt;</description>
                <environment></environment>
        <key id="1613151">JAVA-3996</key>
            <summary>Remove restrictions on using field names with dots and dollars</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="jeff.yemin@mongodb.com">Jeffrey Yemin</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                    </labels>
                <created>Thu, 4 Feb 2021 22:19:33 +0000</created>
                <updated>Sat, 28 Oct 2023 11:21:25 +0000</updated>
                            <resolved>Wed, 9 Jun 2021 00:15:09 +0000</resolved>
                                                    <fixVersion>4.3.0</fixVersion>
                                    <component>Write Operations</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="3905261" author="jeff.yemin" created="Mon, 28 Jun 2021 15:57:35 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=esha.bhargava&quot; class=&quot;user-hover&quot; rel=&quot;esha.bhargava&quot;&gt;esha.bhargava&lt;/a&gt; looks like the spec tests changed after this ticket was already closed.  Can you generate a new JAVA ticket to track this?&lt;/p&gt;</comment>
                            <comment id="3902039" author="jmikola@gmail.com" created="Fri, 25 Jun 2021 21:39:06 +0000"  >&lt;p&gt;FYI: DRIVERS-1237 was revised to sync spec tests to &lt;a href=&quot;https://github.com/mongodb/specifications/commit/fc21cb7330925647e7961c324f1594096025c17e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications@fc21cb7&lt;/a&gt; (previously &lt;a href=&quot;https://github.com/mongodb/specifications/commit/a124e21be89cbfc78606725c6ed1fa00dc992777&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications@a124e21&lt;/a&gt;) to remove an &lt;tt&gt;insertedCount&lt;/tt&gt; assertion for the result of an &lt;tt&gt;insertOne&lt;/tt&gt; operation. Please update your tests accordingly and remove any work-arounds you may have had to make in your test runner.&lt;/p&gt;</comment>
                            <comment id="3867720" author="xgen-internal-githook" created="Wed, 9 Jun 2021 00:14:53 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@mongodb.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Remove most field name validation (#725)&lt;/p&gt;

&lt;p&gt;The driver no longer restricts field names containing &quot;.&quot;.&lt;br/&gt;
The driver no longer restricts field names starting with &quot;$&quot;, except for&lt;br/&gt;
top-level fields in documents being saved via replaceOne, findOneAndReplace,&lt;br/&gt;
and ReplaceOneModel in bulkWrite.  This is to ensure that applications don&apos;t&lt;br/&gt;
accidentally use replace when they meant to use update.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3996&quot; title=&quot;Remove restrictions on using field names with dots and dollars&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3996&quot;&gt;&lt;del&gt;JAVA-3996&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/0fd3b04c8669d24c2349feb17cc1d66f49b07083&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/0fd3b04c8669d24c2349feb17cc1d66f49b07083&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="946960">JAVA-3452</issuekey>
        </issuelink>
                            </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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10250"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY22Q2</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr3ntz:</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>
                                                                                                                        <customfield id="customfield_11150" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>SERVER fixVersion</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="20500"><![CDATA[5.0]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_22279" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Server Compat</customfieldname>
                        <customfieldvalues>
                                        <label>5.0</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>