找到 1349 篇文章 关于 MongoDB
371 次浏览
要检查内部数组中的重复项,请在 MongoDB 中使用 aggregate()。让我们创建一个包含文档的集合 -> db.demo347.insertOne( ... { ... "details": { ... "details1": [ ... { ... Name: "Chris", ... Age: 21 ... } ... ... ] ... } ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5532eaf8647eb59e5620af") } > ... 阅读更多
163 次浏览
要基于范围查询嵌入式文档的数组,请使用 aggregate()。让我们创建一个包含文档的集合 -> db.demo346.insertOne( ... { ... _id: 101, ... userDetails: [ ... { UserName: "Chris", Score:78}, ... { UserName: "David", Score:68}, ... { UserName: "Bob", Score:88} ... ] ... } ... ); { "acknowledged" : true, "insertedId" : 101 } > db.demo346.insertOne( ... { ... _id: 102, ... userDetails: [ ... ... 阅读更多
497 次浏览
让我们创建一个包含文档的集合 -> db.demo345.insertOne({ ... "UserName" : "Robert", ... "UserDetails" : [ ... { ... "isMarried" : false, ... "CountryName":"US" ... ... }, ... { ... "isMarried" : true, ... "CountryName":"UK" ... ... }, ... { ... "isMarried" : false, ... ... 阅读更多
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: { ... ... 阅读更多
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" }, ... 阅读更多
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 } { ... 阅读更多
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([ ... { ... ... 阅读更多
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 ], [ ... 阅读更多