<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:05:03 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>[SERVER-4131] Allow _id-keyed single document update for collections not sharded on _id</title>
                <link>https://jira.mongodb.org/browse/SERVER-4131</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;At present, we don&apos;t allow non-multi updates (single-document updates) on a sharded collection unless the query argument to update includes the shard key, (presumably because doing so would be non-deterministic, or something).  &lt;/p&gt;

&lt;p&gt;It would be handy for some applications to relax this restriction to permit updates where the query argument to the update includes a constant-valued _id parameter, even if the shard key were missing or incomplete in the query.&lt;/p&gt;</description>
                <environment></environment>
        <key id="23986">SERVER-4131</key>
            <summary>Allow _id-keyed single document update for collections not sharded on _id</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="richard.kreuter">Richard Kreuter</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Oct 2011 15:43:46 +0000</created>
                <updated>Mon, 11 Jul 2016 18:34:38 +0000</updated>
                            <resolved>Thu, 6 Mar 2014 21:30:46 +0000</resolved>
                                                                    <component>Sharding</component>
                                        <votes>3</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="511076" author="greg_10gen" created="Thu, 6 Mar 2014 21:30:46 +0000"  >&lt;p&gt;We&apos;ve been doing this at least since 2.2.&lt;/p&gt;</comment>
                            <comment id="118370" author="richard@10gen.com" created="Thu, 10 May 2012 21:06:32 +0000"  >&lt;p&gt;And, in the case where the first argument to the update doesn&apos;t incorporate the shard key in a useful way or at all, we could do the single-document update on each shard at a time until one of them succeeds or we run out of shards.&lt;/p&gt;</comment>
                            <comment id="118365" author="richard@10gen.com" created="Thu, 10 May 2012 20:59:31 +0000"  >&lt;p&gt;While I&apos;m thinking about it, non-multi updates that key on certain patterns of the leftmost subfields of a compound shard key should be deterministically routable, too.  Offhand, it seems that if the shard key is &lt;/p&gt;

{ f0 : 1, f1 : 1, f2 : 1, ... fN : 1 }

&lt;p&gt;and if (a) the first argument to update contains every field from f0 up to fJ for J &amp;lt; N, and (b) for every field in f0 up to f(J-1), the value being matched is constant, and (c) either fJ is constant or a range, then the update can be routed to whatever chunk contain a suitable range of shard key values.&lt;/p&gt;

&lt;p&gt;For example, if db.foo is sharded on &lt;/p&gt;
{a : 1, b: 1}
&lt;p&gt;, the following updates should all be routable:&lt;/p&gt;

&lt;p&gt;db.foo.update({ a : &lt;/p&gt;
{ $gt : &amp;lt;c&amp;gt; }
&lt;p&gt; }); // could route to highest chunk whose lower bound on a is lte &amp;lt;c&amp;gt;&lt;br/&gt;
db.foo.update({ a : &lt;/p&gt;
{ $lt : &amp;lt;c&amp;gt; }
&lt;p&gt; }); // could route to lowest chunk whose upper bound on a is gte &amp;lt;c&amp;gt;&lt;br/&gt;
db.foo.update({ a : &lt;/p&gt;
{ $gt : &amp;lt;c1&amp;gt; , $lt : &amp;lt;c2&amp;gt; }
&lt;p&gt; }); // could do either of the previous 2 options&lt;/p&gt;

&lt;p&gt;db.foo.update({ a : &amp;lt;c&amp;gt; , b : &lt;/p&gt;
{ $gt : &amp;lt;d&amp;gt; }
&lt;p&gt; }); // could route to highest chunk where &amp;lt;c&amp;gt; falls into the range for a and &lt;br/&gt;
                                                // the lower bound for b is lte &amp;lt;d&amp;gt;, etc.&lt;/p&gt;
</comment>
                            <comment id="118266" author="richard@10gen.com" created="Thu, 10 May 2012 18:33:54 +0000"  >&lt;p&gt;Along the same lines, findAndModify would be handier if it supported the same functionality.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 6 Mar 2014 21:30:46 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        9 years, 49 weeks, 6 days 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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            9 years, 49 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>greg_10gen</customfieldvalue>
            <customfieldvalue>richard.kreuter</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrong7:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8120</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hszykf:</customfieldvalue>

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