当前位置: 首页 > 编程笔记 >

MongoDB查询将数组转换为具有n个属性的文档映射?

上官英哲
2023-03-14
本文向大家介绍MongoDB查询将数组转换为具有n个属性的文档映射?,包括了MongoDB查询将数组转换为具有n个属性的文档映射?的使用技巧和注意事项,需要的朋友参考一下

为此,您可以使用$map。首先让我们创建一个包含文档的集合-

> db.demo398.insertOne({
...    "details":[
...       {
...          "Name":"Chris",
...          "Age":22
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5e8cedfac4d418a017856c")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo398.find();

这将产生以下输出-

{ "_id" : ObjectId("5e5e8cedfac4d418a017856c"), "details" : [ { "Name" : "Chris", "Age" : 22 } ] }

以下是将数组转换为具有n个属性的文档映射的查询-

> db.demo398.aggregate([
...    {
...       "$addFields": {
...          "details": {
...             "$arrayToObject": {
...                "$map": {
...                   "input": "$details",
...                   "as": "out",
...                   "in": {
...                      "k": "$$out.Name",
...                      "v": "$$out"
...                   }
...                }
...             }
...          }
...       }
...    }
... ])

这将产生以下输出-

{ "_id" : ObjectId("5e5e8cedfac4d418a017856c"), "details" : { "Chris" : { "Name" : "Chris", "Age" : 22 } } }
 类似资料:
  • ` ` 我需要使用MongoDB shell命令查询此文档。 我已经尝试过查看$[]、$all和挖掘mongo文档,但似乎都没用。任何想法都是赞赏,谢谢!

  • 我正在使用NiFi Jolt处理器来转换一些JSON数据。 我的JSON字段类型包含共享属性和包含实际类型名称列表的数组。 我需要将“流派”属性转换成一个“流派”数组,包含公共属性和不同流派名称的列表。 我有以下JSON输入: 我尝试了以下规格: 这是我的预期输出: 但结果是:

  • 请,我正在尝试转换从我的Web API返回的此对象: 转换为AngularJS控制器内的这种格式的数组: null [object对象],[object对象]

  • 问题内容: 将SQL数据库(例如1个表)转换为mongoDB文档的最佳方法是什么? 我想我可以使用C#驱动程序并实现一个循环,该循环选择表中的每一行并将其保存在Mongo中。但是,我正在寻找一种转换大量数据的更好方法。 问题答案: 司机的方式是FAR最直接的。导入/导出工具非常棒,但 前提 是您必须同时使用它们。如果您的表中包含日期,并且您尝试从数据库中导出并导入到mongo中,那么您将大吃一惊。

  • 我使用了cakephp Mysql到mongodb查询组件,即将Mysql查询转换到mongodb中,但是当查询有多个括号时代码停止工作,我还尝试将http://www.querymongo.com/site上的查询转换为相同的问题,

  • 问题内容: 我的数据如下所示: 我想获取每个会话中最大的(按年龄)的所有行。因此,对于上述输入,我的输出如下所示: 因为约翰在会话= 1组中年龄最大,而汤米在会话= 2组中年龄最大。 我需要将结果导出到文件(csv),并且其中可能包含很多记录。 我该如何实现? 问题答案: 您可以尝试以下使用max属性的聚合查询:http : //docs.mongodb.org/manual/reference/