首页 > 解决方案 > 当 JSON 包含 \ 且格式不正确时,如何在 Monogdb 中查询?

问题描述

这是一个 MongoDB 文档,我在其中尝试获取“ID”和“节点 2”,但无法从中获取值。

{
"_id" : ObjectId("5deb99b8cfee8a21b0bd7500"),
"topic" : "outTopic",
"value" : "{ \"Reading No\": \" 3885 \",\"ID\":\" 946\", \"node 2\": \"20.00 *C\"} ",
"time" : ISODate("2019-12-07T17:53:20.744Z")
}

下面的查询,我试过了。

db.collection.find({"topic":"outTopic","value.ID":"884"}).count(); #output 0

0r

db.collection.find({"topic":"outTopic","value":{"ID":"884"}}).count(); #output 0

标签: mongodbmongoosemongodb-query

解决方案


使用$regex运算符查找子字符串:

db.collection.find({
  "topic": "outTopic",
  "value": {
    $regex: "\"ID\":\"9463440403\""
  }
})

希望有帮助!


推荐阅读