首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >芒果的$elemMatch差异

芒果的$elemMatch差异
EN

Stack Overflow用户
提问于 2012-11-07 18:11:34
回答 1查看 896关注 0票数 1

在$elemMatch操作方面,我看到了2.0.7和2.2.0之间的一些区别。

在2.2.0中,我确实获得了这个查询的结果:

代码语言:javascript
运行
复制
db.testColl.find( { "metadata" : {$elemMatch : {$gt : {age:23}, $lt : {age:99}} }});

在2.0.7中,我没有得到任何结果。

出于测试目的,我的testColl集合中只有一个文档:

代码语言:javascript
运行
复制
{
    "_id" : ObjectId("4fb2974cbedb4a626109b002"),
    "metadata" : [
        {
            "age" : 59
        },
        {
            "gender" : "FEMALE"
        }
    ]
}

有谁知道在2.2.0中为什么这样做,而不是在2.0.7中呢?

根据这一点:

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24elemMatch

支持elemMatch的v1.4+

谢谢你,加伦

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-08 01:30:13

如果您正在寻找一种在这两个版本中都能工作的方法,那么这里不需要使用$elemMatch,因为您只是在与单个字段进行比较,这样就可以使用更简单的查询。试一试:

代码语言:javascript
运行
复制
db.testColl.find({ 'metadata.age': { $gt: 23, $lt: 99 }});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13275607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档