<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:55:00 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-736] Support for XPath like queries</title>
                <link>https://jira.mongodb.org/browse/SERVER-736</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;It would  be very nice to be able to express  XPath-like queries with MongoDB. &lt;/p&gt;

&lt;p&gt;For example, let&apos;s say there is a JSON document that contains a certain subtree, but it is not known where it is inside the JSON &lt;br/&gt;
document. &lt;/p&gt;

&lt;p&gt;In the XML world, one could use XPath and write something like this to &lt;br/&gt;
express relative path (which returns all sub-trees matching the &lt;br/&gt;
pattern): &lt;br/&gt;
 //tree_root_node/subnode1/subnode2 and so on. &lt;br/&gt;
But how can somethig like this expressed with MongoDB? According to the documentation found on Mongo web-site, it is only possible to use  the following two syntaxes: &lt;br/&gt;
 1) {tree_root_node: { subnode1 : &lt;/p&gt;
{subnode2 : ...}
&lt;p&gt;}} &lt;br/&gt;
 2) &lt;/p&gt;
{ &apos;tree_root_node.subnode1.subnode2&apos;: ...}
&lt;p&gt; &lt;br/&gt;
in both cases, one needs to know the full path from the JSON document  root to the subtree of interest. But it is not known in my case as I &lt;br/&gt;
explained before. &lt;/p&gt;

&lt;p&gt;And, BTW, it would be really cool if generic XPath queries could be &lt;br/&gt;
applied on JSON documents. There are some proposals for JSON based &lt;br/&gt;
XPath: &lt;br/&gt;
 &lt;a href=&quot;http://goessner.net/articles/JsonPath/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://goessner.net/articles/JsonPath/&lt;/a&gt; &lt;br/&gt;
 &lt;a href=&quot;http://bluelinecity.com/software/jpath/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://bluelinecity.com/software/jpath/&lt;/a&gt; &lt;br/&gt;
 &lt;a href=&quot;http://somewebguy.wordpress.com/tag/Query/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://somewebguy.wordpress.com/tag/Query/&lt;/a&gt; &lt;br/&gt;
 &lt;a href=&quot;http://www.hugoware.net/projects/jlinq&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.hugoware.net/projects/jlinq&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;(BTW, many XML databases do actually support XPath natively. They even  opimize their  indexing and storage  backends for effective XPath  queries evaluation) &lt;/p&gt;

&lt;p&gt;Is something like this planned for the future releases? How difficult would it be to  implement something like this? Would it require additional, more  detailed indexing for effective implementation? &lt;/p&gt;

&lt;p&gt;Of course, it is easy to provide support at the syntactic level using  whatever syntax (jQuery-like, XPath like, etc) - there are enough libraries for that. But implementing such queries effectively would eventually require new kinds of (additional) indexing, unless you want to  iterate over all entries and check each one for the required sub- trees. &lt;/p&gt;

&lt;p&gt;Proposal by Eliot: An easy first idea might just be wildcard operator a.*b &lt;/p&gt;

&lt;p&gt;Please see this mailing list thread for more information:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/mongodb-user/browse_thread/thread/d359c8ed8eacddea&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/d359c8ed8eacddea&lt;/a&gt;&lt;/p&gt;
</description>
                <environment></environment>
        <key id="11483">SERVER-736</key>
            <summary>Support for XPath like queries</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="backlog-query-optimization">Backlog - Query Optimization</assignee>
                                    <reporter username="mongonix">mongonix</reporter>
                        <labels>
                    </labels>
                <created>Thu, 11 Mar 2010 10:39:41 +0000</created>
                <updated>Sun, 9 Apr 2023 16:48:08 +0000</updated>
                                                                            <component>Index Maintenance</component>
                    <component>JavaScript</component>
                    <component>Performance</component>
                    <component>Querying</component>
                                        <votes>21</votes>
                                    <watches>27</watches>
                                                                                                                <comments>
                            <comment id="5334332" author="JIRAUSER1273419" created="Sun, 9 Apr 2023 16:48:08 +0000"  >&lt;p&gt;up please !&lt;/p&gt;</comment>
                            <comment id="1981324" author="rguenette" created="Tue, 21 Aug 2018 15:39:16 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

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

&lt;p&gt;What is the status of this request? It is classified as &quot;Major&quot; but still opened since 2010!&lt;/p&gt;

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

&lt;p&gt;Thank you&lt;/p&gt;</comment>
                            <comment id="208455" author="yokotoka" created="Thu, 6 Dec 2012 22:48:44 +0000"  >&lt;p&gt;&lt;a href=&quot;http://goessner.net/articles/JsonPath/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://goessner.net/articles/JsonPath/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="208452" author="yokotoka" created="Thu, 6 Dec 2012 22:47:22 +0000"  >&lt;p&gt;Yes, JsonPath functionality is sorely missed in the pyMongo driver...&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="10498">SERVER-267</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="613802">MONGOID-4622</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="16272">SERVER-2989</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25126"><![CDATA[Query Optimization]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 6 Dec 2012 22:47:22 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        43 weeks, 3 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>geoffrey.grebert@orange.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            43 weeks, 3 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>yokotoka</customfieldvalue>
            <customfieldvalue>backlog-query-optimization</customfieldvalue>
            <customfieldvalue>geoffrey.grebert@orange.com</customfieldvalue>
            <customfieldvalue>mongonix</customfieldvalue>
            <customfieldvalue>rguenette</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrpqrr:</customfieldvalue>

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

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

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