【问题标题】:Mongo query to find not null string inside list of objectsMongo查询在对象列表中查找非空字符串
【发布时间】:2019-09-11 10:59:52
【问题描述】:

我想查询具有特定键的对象数组,其中应包含文本。

这是我尝试过的查询

查找disclaimer.text 存在且不为空。但它总是打印 0

 db.slideshows.count({"config.slides": { $elemMatch: {disclaimer: {"text" :   {"$exists" : true, "$ne" : ""}  }} } })

这是我的数据

 {
 "id": 1002,
 "config": {
"firstSlide": "vehicle",
"slides": [
  {
    "slideKey": "sk1",
    "disclaimer": {
      "text": ""
    }
  },
  {
    "slideKey": "sk2"
   }
  ]
 }
}

{
"id": 1003,
"config": {
"firstSlide": "book",
"slides": [
  {
    "slideKey": "sk3",
    "disclaimer": {
      "text": "Hello"
    }
  },
  {
    "slideKey": "sk4"
   }
  ]
 }
}

{
"id": 1004,
"config": {
"firstSlide": "book",
"slides": [
  {
    "slideKey": "sk3",
    "disclaimer": {
      "text": "nope"
    }
  },
  {
    "slideKey": "sk4",
    "disclaimer": {
      "text": ""
    }
   }
  ]
  }
 }

我想要所有不为空 disclaimer.text 的行。前任。在上面的集合中,我需要得到 id 1004 和 1003 作为结果。

【问题讨论】:

    标签: regex mongodb mongodb-query


    【解决方案1】:

    试试

    db.slideshows.count({
      "config.slides": {
        $elemMatch: {
          "disclaimer.text": {
            "$exists": true,
            "$ne": ""
          }
        }
      }
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多