<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:57:29 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-1601] Sort parameter excludes any overlapping fields passed to find</title>
                <link>https://jira.mongodb.org/browse/SERVER-1601</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Ok, so we&apos;ve found something that looks like it caused a lot of our production code to break.  &lt;/p&gt;

&lt;p&gt;We are running a nightly build (to fix the getMore issue) of 1.6.x.  We have replica sets running with 3 replicas which act as a single shard.  Only one shard is running, all others are not yet enabled.  We have a users collection where documents have two main keys or paths:&lt;/p&gt;

&lt;p&gt;1) &quot;key&quot; which is a string&lt;br/&gt;
2) &quot;account&quot; which is an object &lt;/p&gt;

&lt;p&gt;We&apos;re running the following query* and an example result follows:&lt;/p&gt;

&lt;p&gt;&amp;gt; db.users.find({}, &lt;/p&gt;
{&quot;key&quot;:1, &quot;account&quot;:1}
&lt;p&gt;).skip(0).limit(50).sort(&lt;/p&gt;
{&quot;account.created_at&quot;:-1}
&lt;p&gt;);&lt;br/&gt;
{ &quot;_id&quot; : ObjectId(&quot;4c6062392b855c70fe65963b&quot;), &quot;account&quot; : &lt;/p&gt;
{ &quot;created_at&quot; : 1281385017984 }
&lt;p&gt;, &quot;key&quot; : &quot;xxxxxxxx&quot; }&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;please ignore the fact we don&apos;t have to use a separate created_at&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Account has many other subkeys that are not visible in the result of the find.&lt;/p&gt;


&lt;p&gt;Results of the explain query:&lt;br/&gt;
&amp;gt; db.users.find({}, &lt;/p&gt;
{&quot;key&quot;:1, &quot;account&quot;:1}
&lt;p&gt;).skip(0).limit(50).sort(&lt;/p&gt;
{&quot;account.created_at&quot;:-1}
&lt;p&gt;).explain()&lt;br/&gt;
{&lt;br/&gt;
	&quot;clusteredType&quot; : &quot;ParallelSort&quot;,&lt;br/&gt;
	&quot;shards&quot; : {&lt;br/&gt;
		&quot;chronotrigger/crono:10000,crono:10001,lucca:30000&quot; : [&lt;br/&gt;
			{&lt;br/&gt;
				&quot;cursor&quot; : &quot;BtreeCursor account.created_at_1 reverse&quot;,&lt;br/&gt;
				&quot;nscanned&quot; : 194,&lt;br/&gt;
				&quot;nscannedObjects&quot; : 194,&lt;br/&gt;
				&quot;n&quot; : 193,&lt;br/&gt;
				&quot;millis&quot; : 0,&lt;br/&gt;
				&quot;indexBounds&quot; : {&lt;br/&gt;
					&quot;account.created_at&quot; : [&lt;br/&gt;
						[&lt;br/&gt;
							&lt;/p&gt;
{
								&quot;$maxElement&quot; : 1
							}
&lt;p&gt;,&lt;/p&gt;
							{
								&quot;$minElement&quot; : 1
							}
&lt;p&gt;						]&lt;br/&gt;
					]&lt;br/&gt;
				}&lt;br/&gt;
			}&lt;br/&gt;
		]&lt;br/&gt;
	},&lt;br/&gt;
	&quot;nscanned&quot; : 194,&lt;br/&gt;
	&quot;nscannedObjects&quot; : 194,&lt;br/&gt;
	&quot;n&quot; : 193,&lt;br/&gt;
	&quot;millisTotal&quot; : 0,&lt;br/&gt;
	&quot;millisAvg&quot; : 0,&lt;br/&gt;
	&quot;numQueries&quot; : 1,&lt;br/&gt;
	&quot;numShards&quot; : 1&lt;br/&gt;
}&lt;/p&gt;


&lt;p&gt;Interesting side case #1: &lt;/p&gt;

&lt;p&gt;&amp;gt; db.users.find({}, &lt;/p&gt;
{&quot;key&quot;:1, &quot;account.username&quot;:1}
&lt;p&gt;).skip(0).limit(50).sort(&lt;/p&gt;
{&quot;account.created_at&quot;:1}
&lt;p&gt;);&lt;br/&gt;
{ &quot;_id&quot; : ObjectId(&quot;4c5bbfb5f75364df46b5da1b&quot;), &quot;account&quot; : &lt;/p&gt;
{ &quot;created_at&quot; : 1276113472661, &quot;username&quot; : &quot;xxxxxx&quot; }
&lt;p&gt;, &quot;key&quot; : &quot;xxxxxx&quot; }&lt;/p&gt;

&lt;p&gt;Interesting side case #2:&lt;br/&gt;
&amp;gt; db.users.find({}, &lt;/p&gt;
{&quot;key&quot;:1, &quot;account&quot;:1}
&lt;p&gt;).skip(0).limit(50).sort({$natural:1});&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;this returns what we were basically expecting but its sorted by _id time vs created_at time (which may actually differ in most rows)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Please let me know if additional information is needed.  Thanks for your time.&lt;/p&gt;</description>
                <environment>CentOS, OSX</environment>
        <key id="12731">SERVER-1601</key>
            <summary>Sort parameter excludes any overlapping fields passed to find</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="mathias@mongodb.com">Mathias Stearn</assignee>
                                    <reporter username="van">Van Nguyen (vnguyen)</reporter>
                        <labels>
                    </labels>
                <created>Mon, 9 Aug 2010 21:56:26 +0000</created>
                <updated>Tue, 12 Jul 2016 00:19:37 +0000</updated>
                            <resolved>Tue, 10 Aug 2010 02:15:29 +0000</resolved>
                                    <version>1.6.0</version>
                                    <fixVersion>1.7.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="16660" author="redbeard0531" created="Tue, 10 Aug 2010 02:15:29 +0000"  >&lt;p&gt;This should be solved if you build from master now. If not, please reopen.&lt;/p&gt;</comment>
                            <comment id="16659" author="auto" created="Tue, 10 Aug 2010 02:14:47 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;RedBeard0531&apos;, &apos;name&apos;: &apos;Mathias Stearn&apos;, &apos;email&apos;: &apos;mathias@10gen.com&apos;}
&lt;p&gt;Message: better adding of sort key to projection in mongos &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1601&quot; title=&quot;Sort parameter excludes any overlapping fields passed to find&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1601&quot;&gt;&lt;del&gt;SERVER-1601&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/b2569f1650e5486ab201bf13ba086d86820a8f3c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/b2569f1650e5486ab201bf13ba086d86820a8f3c&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 10 Aug 2010 02:14:47 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 years, 28 weeks, 2 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>false</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>
                            13 years, 28 weeks, 2 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_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10020"><![CDATA[Linux]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
            <customfieldvalue>van</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrphhr:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>21655</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|ht0svj:</customfieldvalue>

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