1

我正在使用 mongodb compass 查询 mongodb,我无法以表格形式打印值,它总是打印 {} 1 Fields..我想将里面的值打印为表格。当我使用 mongoexport 时也会发生同样的事情

这是原始的json结构

这是查询结构

这些是结果

4

2 回答 2

1

这是因为 project in find()command 没有规范化对象结构。所以生日返回的输出字段仍然是一个只有 1 个字段的对象。就像是{roleID: 9, formAnswers : { birthday : { value : "06/29/1981 17:04:29"}}}

要获得您期望的输出,您应该使用聚合管道,这可以使其成为顶级字段。就像是db.coll.aggregate({$project : {roleID:1, birthday : "$formAnswers.birthday.value"}})

于 2019-05-03T14:26:34.590 回答
1

您应该使用聚合管道,如下图所示: 在此处输入图像描述

另一种选择是使用带有以下查询的 Robo3T(Ex Robomongo):

db.getCollection('test').aggregate([ { '$addFields': {'birthdayValue': '$formAnswer.birthday.value'}}, {'$project': {'_id': 0, 'roleID': 1, 'birthdayValue': 1}}])

你会得到一些东西,就像这张其他图片显示的那样: 在此处输入图像描述

于 2019-05-03T16:05:51.833 回答