首页 > 解决方案 > MongoDB:如何查询 json 字符串?

问题描述

有一个 MongoDB 集合,其中填充了如下文档:

{
    "_id" : ObjectId("5b7f83b591fae49715443590"),
    "content" : "{\n\t\"email\":\"username@domain.com\",\n\t\"country_code\": \"US\"\n}"
}

如您所见"content",有一个 JSON 字符串

我能够使用以下方式解析字符串JSON.parse()

db.getCollection('my_collection').find({}).map(function(doc){ return {'_id':doc._id, 'content': JSON.parse(doc.content)}});

给我一个带有_idcontent作为对象的对象数组。

有没有一种方法可以执行查询(过滤、聚合函数)content而不需要从 获取数组map

标签: mongodb

解决方案


就像你说的对数据库而言content是一个字符串。因此,您需要将整个集合保存在content一个对象的位置,以便您能够过滤、聚合等...


推荐阅读