为此,您可以使用$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/