<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:38:07 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>[GODRIVER-2230] Upsert in findOneAndUpdate not work</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2230</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;MogoDB version: 5.0.3&lt;/p&gt;

&lt;p&gt;Driver version: v1.7.4&lt;/p&gt;

&lt;p&gt;Code:&lt;br/&gt;
&lt;font color=&quot;#569cd6&quot;&gt;type&lt;/font&gt; &lt;font color=&quot;#4ec9b0&quot;&gt;mongoCounter&lt;/font&gt; &lt;font color=&quot;#569cd6&quot;&gt;struct&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt; {&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#d4d4d4&quot;&gt; Type &lt;/font&gt;&lt;font color=&quot;#4ec9b0&quot;&gt;string&lt;/font&gt; &lt;font color=&quot;#ce9178&quot;&gt;`bson:&quot;type&quot;`&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#d4d4d4&quot;&gt; Sequence &lt;/font&gt;&lt;font color=&quot;#4ec9b0&quot;&gt;int&lt;/font&gt; &lt;font color=&quot;#ce9178&quot;&gt;`bson:&quot;sequence&quot;`&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#d4d4d4&quot;&gt; }&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#9cdcfe&quot;&gt;result&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt; := mongoCounter{}&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#9cdcfe&quot;&gt;err&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt; = db.&lt;/font&gt;&lt;font color=&quot;#dcdcaa&quot;&gt;Collection&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#ce9178&quot;&gt;&quot;counters&quot;&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;).&lt;/font&gt;&lt;font color=&quot;#dcdcaa&quot;&gt;FindOneAndUpdate&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;(context.&lt;/font&gt;&lt;font color=&quot;#dcdcaa&quot;&gt;Background&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;(), bson.M{&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#ce9178&quot;&gt;&quot;type&quot;&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;: &lt;/font&gt;&lt;font color=&quot;#ce9178&quot;&gt;&quot;non_existen_type&quot;&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;,&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#d4d4d4&quot;&gt; }, bson.M{&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#ce9178&quot;&gt;&quot;$inc&quot;&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;: bson.M{&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#ce9178&quot;&gt;&quot;sequence&quot;&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;: &lt;/font&gt;&lt;font color=&quot;#b5cea8&quot;&gt;1&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;,&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#d4d4d4&quot;&gt; },&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#d4d4d4&quot;&gt; }, options.&lt;/font&gt;&lt;font color=&quot;#dcdcaa&quot;&gt;FindOneAndUpdate&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;().&lt;/font&gt;&lt;font color=&quot;#dcdcaa&quot;&gt;SetUpsert&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#569cd6&quot;&gt;true&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;)).&lt;/font&gt;&lt;font color=&quot;#dcdcaa&quot;&gt;Decode&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;(&amp;amp;result)&lt;/font&gt;&lt;br/&gt;
&lt;font color=&quot;#d4d4d4&quot;&gt; fmt.&lt;/font&gt;&lt;font color=&quot;#dcdcaa&quot;&gt;Println&lt;/font&gt;&lt;font color=&quot;#d4d4d4&quot;&gt;(err)&lt;/font&gt;&lt;br/&gt;
&#160;&lt;/p&gt;

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

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

&lt;p&gt;Result:&lt;/p&gt;

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

&lt;p&gt;mongo: no documents in result&lt;/p&gt;

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

&lt;p&gt;Expected:&lt;/p&gt;

&lt;p&gt;The document should be created and err is nil.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1924915">GODRIVER-2230</key>
            <summary>Upsert in findOneAndUpdate not work</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="13203">Gone away</resolution>
                                        <assignee username="benji.rewis@mongodb.com">Benji Rewis</assignee>
                                    <reporter username="oxycoder@gmail.com">Tung Nguyen</reporter>
                        <labels>
                            <label>Bug</label>
                    </labels>
                <created>Mon, 15 Nov 2021 02:26:54 +0000</created>
                <updated>Fri, 27 Oct 2023 20:01:14 +0000</updated>
                            <resolved>Wed, 17 Nov 2021 15:27:06 +0000</resolved>
                                    <version>1.7.4</version>
                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4195133" author="benji.rewis" created="Wed, 17 Nov 2021 15:27:06 +0000"  >&lt;p&gt;Great! And happy to help. Feel free to comment on this ticket/open a new one if anything else comes up.&lt;/p&gt;</comment>
                            <comment id="4194721" author="JIRAUSER1263300" created="Wed, 17 Nov 2021 13:49:14 +0000"  >&lt;p&gt;Hi @Benji Rewis,&lt;/p&gt;

&lt;p&gt;Thank you for provided example and clear explained, it worked with SetReturnDocument to options.After&lt;/p&gt;

&lt;p&gt;Sorry for fall alert, please help me close this ticket.&lt;/p&gt;</comment>
                            <comment id="4192483" author="benji.rewis" created="Tue, 16 Nov 2021 17:19:52 +0000"  >&lt;p&gt;Hello again, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=oxycoder%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;oxycoder@gmail.com&quot;&gt;oxycoder@gmail.com&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;If you&#8217;d like the new, upserted document to be returned from the call to &lt;tt&gt;FindOneAndUpdate&lt;/tt&gt;, you&#8217;ll have to set the &lt;tt&gt;ReturnDocument&lt;/tt&gt; value on your &lt;tt&gt;FindOneAndUpdate&lt;/tt&gt; options.&lt;/p&gt;

&lt;p&gt;Setting &lt;tt&gt;Upsert&lt;/tt&gt;&#160;(see the server documentation on the upsert field &lt;a href=&quot;https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndUpdate/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;) to true means that if &lt;tt&gt;FindOneAndUpdate&lt;/tt&gt; does not find a document matching your provided filter, a document identical to the filter &lt;em&gt;will&lt;/em&gt;&#160;be inserted to the specified collection. &lt;tt&gt;FindOneAndUpdate&lt;/tt&gt; will still return null after the insertion &lt;em&gt;unless&lt;/em&gt; you also specify &lt;tt&gt;ReturnDocument&lt;/tt&gt; as true. In the Go driver, you can do this with the &lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/blob/master/mongo/options/findoptions.go#L658-L662&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;SetReturnDocument&lt;/tt&gt;&lt;/a&gt; function and the &lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/blob/master/mongo/options/mongooptions.go#L81-L90&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;options.After&lt;/tt&gt;&lt;/a&gt; constant. I&#8217;ve attached some example code to this ticket.&lt;/p&gt;

&lt;p&gt;Let me know if that helps.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/attachment/345961/345961_returndocumentexample.go&quot; title=&quot;returndocumentexample.go attached to GODRIVER-2230&quot;&gt;returndocumentexample.go&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.mongodb.org/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="4192369" author="benji.rewis" created="Tue, 16 Nov 2021 16:49:09 +0000"  >&lt;p&gt;Thanks for your bug report &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=oxycoder%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;oxycoder@gmail.com&quot;&gt;oxycoder@gmail.com&lt;/a&gt;! We&apos;re investigating this now.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="345961" name="returndocumentexample.go" size="870" author="benji.rewis@mongodb.com" created="Tue, 16 Nov 2021 17:19:06 +0000"/>
                    </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="11861"><![CDATA[Not Needed]]></customfieldvalue>

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