<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:24:39 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>[DRIVERS-2073] Codify driver support for client-side ObjectID generation</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2073</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;Currently behavior in drivers is as follows:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;If there is no &lt;tt&gt;_id&lt;/tt&gt; present on an insert, drivers will generate an &lt;tt&gt;_id&lt;/tt&gt; as a bson &lt;tt&gt;ObjectId&lt;/tt&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;What is currently not specified and/or universal:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Should drivers generate a client-side objectID for upserts using either &lt;tt&gt;update&lt;/tt&gt; or &lt;tt&gt;findAndModify&lt;/tt&gt; (AFAIK no driver does this)&lt;/li&gt;
	&lt;li&gt;Should drivers support the ability to disable client-side _id generation (currently Node supports this via the &lt;tt&gt;forceServerObjectId&lt;/tt&gt; option. I do not know of another driver that does)&lt;/li&gt;
	&lt;li&gt;Should drivers support the ability to change the type of the &lt;tt&gt;_id&lt;/tt&gt; generated at the collection/db/client level? (Node currently supports passing a &lt;tt&gt;pkFactory&lt;/tt&gt; that will be used to generate all client-side {{_id}}s)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;We should be able to answer the above questions, and codify behavior across drivers for client-side &lt;tt&gt;_id&lt;/tt&gt; generation.&lt;/p&gt;</description>
                <environment></environment>
        <key id="982896">DRIVERS-2073</key>
            <summary>Codify driver support for client-side ObjectID generation</summary>
                <type id="14901" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14700&amp;avatarType=issuetype">Spec Change</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="daniel.aprahamian@mongodb.com">Daniel Aprahamian</reporter>
                        <labels>
                    </labels>
                <created>Tue, 29 Oct 2019 18:49:59 +0000</created>
                <updated>Thu, 31 Mar 2022 14:24:17 +0000</updated>
                                                                <component>CRUD</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2507508" author="behackett" created="Tue, 29 Oct 2019 21:04:42 +0000"  >&lt;p&gt;Another thing to clarify:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Should drivers be prohibited from modifying the original document to add the _id?&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;PyMongo currently adds the _id to the document passed by the application. That has caused a lot of confusion over the years.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </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_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[Needed]]></customfieldvalue>

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