找到 1660 篇文章 关于大数据分析

如何在 MongoDB 中查询时间跨度最长的对象?

AmitDiwan
更新于 2020年4月2日 07:36:09

120 次浏览

让我们创建一个包含文档的集合 -> db.demo344.insertOne({"startDate":"2020-02-24 10:50:00", "endDate":"2020-02-24 11:50:00"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e53f52cf8647eb59e5620aa") } > db.demo344.insertOne({"startDate":"2020-02-24 08:00:00", "endDate":"2020-02-24 11:50:50"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e53f53df8647eb59e5620ab") }使用 find() 方法显示集合中的所有文档 -> db.demo344.find();这将产生以下输出 -{ "_id" : ObjectId("5e53f52cf8647eb59e5620aa"), "startDate" : "2020-02-24 10:50:00", "endDate" : "2020-02-24 11:50:00" } { "_id" : ObjectId("5e53f53df8647eb59e5620ab"), "startDate" : "2020-02-24 08:00:00", "endDate" : "2020-02-24 11:50:50" }以下是查询时间跨度最长的对象的方法 -> db.demo344.aggregate([ ...    { $addFields: { ...   ... 阅读更多

如何将 ObjectId 数组转换为包含原始数组元素值的字段的嵌入文档数组?

AmitDiwan
更新于 2020年4月2日 07:34:12

57 次浏览

对于这种转换,使用聚合。让我们创建一个包含文档的集合 -> db.demo343.insertOne({ ...    _id: 101, ...    UserName: "Chris", ...    details: [ ...       {"Name":"John"}, ...       {"Name":"David"} ...    ] ... } ... ); { "acknowledged" : true, "insertedId" : 101 }使用 find() 方法显示集合中的所有文档 -> db.demo343.find().pretty();这将产生以下输出 -{    "_id" : 101,    "UserName" : "Chris",    "details" : [       {          "Name" : "John"       },       ... 阅读更多

MongoDB 查询以仅获取嵌套数组文档中的特定字段?

AmitDiwan
更新于 2020年4月2日 07:30:22

762 次浏览

要仅获取嵌套数组文档中的特定字段,请使用 $filter 以及 $project。让我们创建一个包含文档的集合 -> db.demo342.insertOne({ ...    "Id": "101", ...       "details1" : { ...          "details2" : [ ...             { ...                "details3" : [ ...                   { ...                      "Name": "Mike", ...                      "CountryName" : "US" ... ... 阅读更多

MongoDB 查询以在具有多个条件(范围)的数组中查找值

AmitDiwan
更新于 2020年4月2日 07:26:04

399 次浏览

要在数组中查找范围内的值,请使用 $gt 和 $lt。让我们创建一个包含文档的集合 -> db.demo341.insertOne({ ...    "Name": "Chris", ...       "productDetails" : [ ...          { ...             "ProductPrice" : { ...             "Price" : 800 ...          } ...       }, ...       { ...          "ProductPrice" : { ...             "Price" : 400 ...          } ... ... 阅读更多

MongoDB findById 返回文档列表而不是单个结果?如何只获取单个文档?

AmitDiwan
更新于 2020年4月2日 07:20:53

200 次浏览

要仅获取单个结果,请使用 findOne() 并根据 id 获取。让我们创建一个包含文档的集合 -> db.demo340.insertOne({_id:1, "Name":"Chris", Age:21}); { "acknowledged" : true, "insertedId" : 1 } > db.demo340.insertOne({_id:2, "Name":"David", Age:23}); { "acknowledged" : true, "insertedId" : 2 } > db.demo340.insertOne({_id:3, "Name":"Bob", Age:20}); { "acknowledged" : true, "insertedId" : 3 } > db.demo340.insertOne({_id:4, "Name":"Sam", Age:19}); { "acknowledged" : true, "insertedId" : 4 }使用 find() 方法显示集合中的所有文档 -> db.demo340.find();这将产生以下输出 -{ "_id" : 1, "Name" : "Chris", "Age" : 21 } { ... 阅读更多

使用 MongoDB 将两个数组压缩并以重塑的形式创建新的对象数组

AmitDiwan
更新于 2020年4月2日 07:19:19

172 次浏览

为此,请使用聚合以及 $zip。zip 用于转置数组。让我们创建一个包含文档的集合 -> db.demo339.insertOne({Id:101, Score1:["98", "56"], Score2:[67, 89]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e529ee5f8647eb59e5620a2") }使用 find() 方法显示集合中的所有文档 -> db.demo339.find();这将产生以下输出 -{ "_id" : ObjectId("5e529ee5f8647eb59e5620a2"), "Id" : 101, "Score1" : [ "98", "56" ], "Score2" : [ 67, 89 ] }以下是使用 $zip 压缩两个数组并创建新的对象数组的查询 -> db.demo339.aggregate([ ...    { ...     ... 阅读更多

在现有多数组字段上使用 $project 处理 MongoDB $concatArrays

AmitDiwan
更新于 2020年4月2日 07:15:05

321 次浏览

$concatArrays 用于连接数组以返回连接后的数组。让我们创建一个包含文档的集合 -> db.demo338.insertOne({"Name":"Chris", "Marks1":[ [56, 67, 45], [67, 89, 90, 91]]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5299baf8647eb59e56209f") }使用 find() 方法显示集合中的所有文档 -> db.demo338.find().pretty();这将产生以下输出 -{    "_id" : ObjectId("5e5299baf8647eb59e56209f"),    "Name" : "Chris",    "Marks1" : [       [          56,          67,          45       ],       [         ... 阅读更多

如何使用 aggregate() 在 MongoDB 中计算总和?

AmitDiwan
更新于 2020年4月2日 06:58:31

2K+ 次浏览

要获取总和,请使用 $sum 以及 aggregate()。让我们创建一个包含文档的集合 -> db.demo337.insertOne({"Amount":100}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5231e5f8647eb59e56209b") } > db.demo337.insertOne({"Amount":500}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5231e9f8647eb59e56209c") } > db.demo337.insertOne({"Amount":400}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5231ebf8647eb59e56209d") }使用 find() 方法显示集合中的所有文档 -> db.demo337.find();这将产生以下输出 -{ "_id" : ObjectId("5e5231e5f8647eb59e56209b"), "Amount" : 100 } { "_id" : ObjectId("5e5231e9f8647eb59e56209c"), "Amount" : 500 } { "_id" : ObjectId("5e5231ebf8647eb59e56209d"), "Amount" : 400 }以下是计算总和的查询 ... 阅读更多

如何在 MongoDB 中仅更新一个属性?

AmitDiwan
更新于 2020年4月2日 06:56:15

395 次浏览

若要仅更新一个属性,请在 MongoDB 中使用 $addToSet。让我们创建一个包含文档的集合 -> db.demo336.insertOne({"Name":"Chris", "Score":[45, 67, 78]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e522cb1f8647eb59e562097") } > db.demo336.insertOne({"Name":"David", "Score":[89, 93, 47]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e522cb2f8647eb59e562098") }使用 find() 方法显示集合中的所有文档 -> db.demo336.find();这将产生以下输出 -{ "_id" : ObjectId("5e522cb1f8647eb59e562097"), "Name" : "Chris", "Score" : [ 45, 67, 78 ] } { "_id" : ObjectId("5e522cb2f8647eb59e562098"), "Name" : "David", "Score" : [ 89, 93, 47 ] }以下是仅更新... 阅读更多

MongoDB 查询将带逗号的字符串转换为双精度数

AmitDiwan
更新于 2020-04-02 06:54:33

679 次浏览

对于此类转换,请使用 aggregate()。让我们创建一个包含文档的集合 -> db.demo335.insertOne({"Value":"45, 67, 78.0"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e522a1cf8647eb59e562091") } > db.demo335.insertOne({"Value":"17664, 76, 534.0"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e522a26f8647eb59e562092") } > db.demo335.insertOne({"Value":"8899, 322, 135, 875.50"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e522a34f8647eb59e562093") } > db.demo335.insertOne({"Value":"1, 533.07"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e522ab9f8647eb59e562094") }使用 find() 方法显示集合中的所有文档 -> db.demo335.find();这将产生以下输出 -{ "_id" : ObjectId("5e522a1cf8647eb59e562091"), "Value" : "45, 67, 78.0" } { "_id" : ObjectId("5e522a26f8647eb59e562092"), ... 阅读更多

广告