<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:05:08 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-4157] findAndModify throws exception when _id is in the update document and &quot;new&quot;:true</title>
                <link>https://jira.mongodb.org/browse/SERVER-4157</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;findAndModify throws exception when _id is in the update document and &quot;new&quot;:true&lt;/p&gt;

&lt;p&gt;Even though an exception is thrown, the document is still inserted.  &lt;/p&gt;

&lt;p&gt;This was generated from &lt;a href=&quot;http://groups.google.com/group/mongodb-user/browse_thread/thread/00623298f8c04836&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://groups.google.com/group/mongodb-user/browse_thread/thread/00623298f8c04836&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To Reproduce in 2.0.1:  (This is reproducible in 1.8.4 as well, although the outputs are slightly different. )&lt;/p&gt;

&lt;p&gt;&amp;gt; db.test.drop()&lt;br/&gt;
true&lt;br/&gt;
&amp;gt; db.test.save({_id:1, &quot;name&quot; : &quot;Object 1&quot;})&lt;br/&gt;
&amp;gt; db.runCommand({findAndModify:&quot;test&quot;, &quot;query&quot; : &lt;/p&gt;
{ &quot;name&quot; : &quot;asdf&quot; }
&lt;p&gt;, &quot;update&quot; : &lt;/p&gt;
{ &quot;_id&quot; : 2, &quot;name&quot; : &quot;Object 2&quot; }
&lt;p&gt;, &quot;upsert&quot; : true } )&lt;br/&gt;
{&lt;br/&gt;
	&quot;lastErrorObject&quot; : &lt;/p&gt;
{
		&quot;updatedExisting&quot; : false,
		&quot;n&quot; : 1,
		&quot;connectionId&quot; : 1,
		&quot;err&quot; : null,
		&quot;ok&quot; : 1
	}
&lt;p&gt;,&lt;br/&gt;
	&quot;value&quot; : {&lt;/p&gt;

&lt;p&gt;	},&lt;br/&gt;
	&quot;ok&quot; : 1&lt;br/&gt;
}&lt;br/&gt;
&amp;gt; db.test.find()&lt;/p&gt;
{ &quot;_id&quot; : 1, &quot;name&quot; : &quot;Object 1&quot; }
{ &quot;_id&quot; : 2, &quot;name&quot; : &quot;Object 2&quot; }
&lt;p&gt;&amp;gt; db.runCommand({findAndModify:&quot;test&quot;, &quot;query&quot; : &lt;/p&gt;
{ &quot;name&quot; : &quot;asdf&quot; }
&lt;p&gt;, &quot;update&quot; : &lt;/p&gt;
{ &quot;_id&quot; : 3, &quot;name&quot; : &quot;Object 3&quot; }
&lt;p&gt;, &quot;upsert&quot; : true, &quot;new&quot;:true } )&lt;br/&gt;
{&lt;br/&gt;
	&quot;lastErrorObject&quot; : &lt;/p&gt;
{
		&quot;updatedExisting&quot; : false,
		&quot;n&quot; : 1,
		&quot;connectionId&quot; : 1,
		&quot;err&quot; : null,
		&quot;ok&quot; : 1
	}
&lt;p&gt;,&lt;br/&gt;
	&quot;errmsg&quot; : &quot;exception: assertion db/ops/../../util/net/../../db/../bson/bsonobjbuilder.h:127&quot;,&lt;br/&gt;
	&quot;code&quot; : 0,&lt;br/&gt;
	&quot;ok&quot; : 0&lt;br/&gt;
}&lt;br/&gt;
&amp;gt; db.test.find()&lt;/p&gt;
{ &quot;_id&quot; : 1, &quot;name&quot; : &quot;Object 1&quot; }
{ &quot;_id&quot; : 2, &quot;name&quot; : &quot;Object 2&quot; }
{ &quot;_id&quot; : 3, &quot;name&quot; : &quot;Object 3&quot; }

&lt;p&gt;Adding a value (any value) to the _id key in the query document prevents an exception from being thrown.  &lt;br/&gt;
(Example done with 2.0.1)&lt;br/&gt;
&amp;gt; db.runCommand({findAndModify:&quot;test&quot;, &quot;query&quot; : &lt;/p&gt;
{ _id:0, &quot;name&quot; : &quot;asdf&quot; }
&lt;p&gt;, &quot;update&quot; : &lt;/p&gt;
{ &quot;_id&quot; : 4, &quot;name&quot; : &quot;Object 4&quot; }
&lt;p&gt;, &quot;upsert&quot; : true, &quot;new&quot;:true } )&lt;br/&gt;
{&lt;br/&gt;
	&quot;lastErrorObject&quot; : &lt;/p&gt;
{
		&quot;updatedExisting&quot; : false,
		&quot;n&quot; : 1,
		&quot;connectionId&quot; : 1,
		&quot;err&quot; : null,
		&quot;ok&quot; : 1
	}
&lt;p&gt;,&lt;br/&gt;
	&quot;value&quot; : {&lt;/p&gt;

&lt;p&gt;	},&lt;br/&gt;
	&quot;ok&quot; : 1&lt;br/&gt;
}&lt;br/&gt;
&amp;gt; db.runCommand({findAndModify:&quot;test&quot;, &quot;query&quot; : &lt;/p&gt;
{ _id:5, &quot;name&quot; : &quot;asdf&quot; }
&lt;p&gt;, &quot;update&quot; : &lt;/p&gt;
{ &quot;_id&quot; : 5, &quot;name&quot; : &quot;Object 5&quot; }
&lt;p&gt;, &quot;upsert&quot; : true, &quot;new&quot;:true } )&lt;br/&gt;
{&lt;br/&gt;
	&quot;lastErrorObject&quot; : &lt;/p&gt;
{
		&quot;updatedExisting&quot; : false,
		&quot;n&quot; : 1,
		&quot;connectionId&quot; : 1,
		&quot;err&quot; : null,
		&quot;ok&quot; : 1
	}
&lt;p&gt;,&lt;br/&gt;
	&quot;value&quot; : &lt;/p&gt;
{
		&quot;_id&quot; : 5,
		&quot;name&quot; : &quot;Object 5&quot;
	}
&lt;p&gt;,&lt;br/&gt;
	&quot;ok&quot; : 1&lt;br/&gt;
}&lt;br/&gt;
&amp;gt; db.runCommand({findAndModify:&quot;test&quot;, &quot;query&quot; : &lt;/p&gt;
{ _id:5, &quot;name&quot; : &quot;asdf&quot; }
&lt;p&gt;, &quot;update&quot; : &lt;/p&gt;
{ &quot;_id&quot; : 6, &quot;name&quot; : &quot;Object 6&quot; }
&lt;p&gt;, &quot;upsert&quot; : true, &quot;new&quot;:true } )&lt;br/&gt;
{&lt;br/&gt;
	&quot;lastErrorObject&quot; : &lt;/p&gt;
{
		&quot;updatedExisting&quot; : false,
		&quot;n&quot; : 1,
		&quot;connectionId&quot; : 1,
		&quot;err&quot; : null,
		&quot;ok&quot; : 1
	}
&lt;p&gt;,&lt;br/&gt;
	&quot;value&quot; : &lt;/p&gt;
{
		&quot;_id&quot; : 5,
		&quot;name&quot; : &quot;Object 5&quot;
	}
&lt;p&gt;,&lt;br/&gt;
	&quot;ok&quot; : 1&lt;br/&gt;
}&lt;/p&gt;</description>
                <environment>All</environment>
        <key id="24128">SERVER-4157</key>
            <summary>findAndModify throws exception when _id is in the update document and &quot;new&quot;:true</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="3">Duplicate</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="barrie">Barrie Segal</reporter>
                        <labels>
                            <label>findAndModify</label>
                    </labels>
                <created>Wed, 26 Oct 2011 22:18:10 +0000</created>
                <updated>Fri, 7 Mar 2014 00:07:07 +0000</updated>
                            <resolved>Tue, 18 Sep 2012 06:24:26 +0000</resolved>
                                    <version>1.8.4</version>
                    <version>2.0.1</version>
                                                    <component>Write Ops</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="49093">SERVER-6913</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 26 Oct 2011 23:57:20 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        12 years, 17 weeks 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>ian@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            12 years, 17 weeks 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="10026"><![CDATA[ALL]]></customfieldvalue>

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

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

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

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