如何在mongodb中搜索嵌入式文档?

乔瑟斯·巴斯卡兰(Jyothish Bhaskaran)

我有这样的收藏

{
    "_id" : ObjectId("5bbe1867839c0d2b4bdffcb2"),
    "name" : "Jyothish",
    "favBooks" : [
            {
                    "title" : "Let us C",
                    "author" : "Yaswanth Kanetkar",
                    "price" : 400
            },
            {
                    "title" : "Winner stands alone",
                    "author" : "Paulo Coelho",
                    "price" : 340
            }
    ]
}
{
    "_id" : ObjectId("5bbe1b62839c0d2b4bdffcb3"),
    "name" : "John",
    "favBooks" : [
            {
                    "title" : "Broken Republic",
                    "author" : "Arundhathi Roy",
                    "price" : 200
            },
            {
                    "title" : "One Life to Ride",
                    "author" : "Ajit Harisinghani",
                    "price" : 250
            }
    ]
}

有什么方法可以搜索价格低于400的favBook?

我现在正在尝试的是

db.p.find({"favBooks.price":{$lt:400}}).pretty()

但这将返回所有价格低于400的favBook项目的文档。

我期望的输出是

{
        {
                "title" : "Winner stands alone",
                "author" : "Paulo Coelho",
                "price" : 340
        },
        {
                "title" : "Broken Republic",
                "author" : "Arundhathi Roy",
                "price" : 200
        },
        {
                "title" : "One Life to Ride",
                "author" : "Ajit Harisinghani",
                "price" : 250
        }
}

这可能吗?

提前致谢 :)

阿什

您可以尝试使用$unwind和进行以下汇总$replaceRoot

db.collection.aggregate([
  { "$match": { "favBooks.price": { "$lt": 400 }}},
  { "$unwind": "$favBooks" },
  { "$match": { "favBooks.price": { "$lt": 400 }}},
  { "$replaceRoot": { "newRoot": "$favBooks" }}
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在mgo Mongodb中选择所有相同类型的嵌入式文档?

更新Mongodb中的嵌入式文档:性能问题?

如何在mongoDB中的嵌入式文档中提取特定元素

mongodb聚合中的项目嵌套嵌入式文档

基于范围查询MongoDB中嵌入式文档的数组

查询Spring Data MongoDB中嵌入式文档的数组

如何使用id mongodb在嵌入式文档数组中查找数据?

如何在嵌入式文档中查找某个元素

更新mongodb中arrays对象的arrays的嵌入式文档

嵌入式文档数组中的MongoDB Aggregate ObjectId

MongoDB嵌入式搜索

如何在mongodb中使用node.js删除嵌入式(嵌套)文档

如何在嵌入式数组mongodb中查询嵌入式文档

在mongodb中更新嵌套的嵌入式文档

如何在MongoDB中使用数组获取嵌入式文档(使用Mongoose)

如何在mongoDB中的多对多关系中使用嵌入式文档结构?

使用Java在MongoDB中的嵌入式文档中索引和搜索“数组”

如何在MongoDB中的嵌入式文档中获得同一级别的所有字段

如何使用Mongoose将值推入MongoDB中嵌入式文档中的数组?

查询MongoDB中的嵌入式文档

如何在MongoDB中查询数组中的单个嵌入式文档?

映射-Symfony2中的Mongodb嵌入式文档

与数组比较,如何在mongodb中检索部分嵌入式文档?

使用python(pymongo)在mongodb中编辑嵌入式文档

mongodb嵌入式文档搜索

在mongodb中展开嵌入式文档

如何在Meteor中循环浏览嵌入式文档

MongoDB,如何获取刚在嵌入式文档中创建的ObjectId?

在MongoDB中搜索嵌入式数组(使用Java)

TOP 榜单

热门标签

归档