<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:59:12 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-3273] Ability to configure replacement for dot in a Map&lt;String, Object&gt;</title>
                <link>https://jira.mongodb.org/browse/JAVA-3273</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;&lt;b&gt;Background&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;There are multiple ways to store a nested document in mongodb with dot in field names.&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Serialize the whole document as a string and store it.&lt;/li&gt;
	&lt;li&gt;Since MongoDB have restrictions on only top level fields containing dot, we can wrap the entire document in another document whose only field name doesn&apos;t have a dot. While returning data, we can always query internal document of interest and return it.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;But the important abilities we might loose are querying and patching of nested fields.&lt;/p&gt;

&lt;p&gt;To be able to retain these two, we might have to replace dot character with some decent character sequence and persist it. Today, there is no easy way to specify a replacement for dot in codecs.&lt;/p&gt;

&lt;p&gt;For e.g. Spring data for mongodb provides an easy way to do this:&lt;/p&gt;

&lt;p&gt;Documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/convert/MappingMongoConverter.html#setMapKeyDotReplacement-java.lang.String-&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/convert/MappingMongoConverter.html#setMapKeyDotReplacement-java.lang.String-&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Ask&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;It would be good to&#160;provide an easy knob to set replacement for special characters(dot and dollar to start with) and all the codecs should replace those special characters in the property names.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="743391">JAVA-3273</key>
            <summary>Ability to configure replacement for dot in a Map&lt;String, Object&gt;</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="satyaprakash1729@gmail.com">Satyaprakash Reddy</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Apr 2019 09:20:47 +0000</created>
                <updated>Tue, 16 Nov 2021 15:51:23 +0000</updated>
                            <resolved>Mon, 29 Apr 2019 14:21:14 +0000</resolved>
                                                                    <component>Codecs</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2227561" author="ian@10gen.com" created="Mon, 29 Apr 2019 14:20:55 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=satyaprakash.vennapusa&quot; class=&quot;user-hover&quot; rel=&quot;satyaprakash.vennapusa&quot;&gt;satyaprakash.vennapusa&lt;/a&gt; thanks for the change request - we&apos;re aware of the general requirement users have but don&apos;t necessarily plan to fix it in this way.  Please follow &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-618&quot; title=&quot;Add escaping convention for dot and dollar signs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-618&quot;&gt;&lt;del&gt;DRIVERS-618&lt;/del&gt;&lt;/a&gt; as we design and implement our desired solution across all of the MongoDB drivers.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="511341">JAVA-2810</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="414602">SERVER-30575</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="597468">DRIVERS-618</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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hukqzj:</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>