找到 6705 篇文章 适用于数据库

在 MongoDB 中使用“结构化”分组查询以显示带有新字段的结果,该字段显示计数

AmitDiwan
更新于 2020年5月14日 06:29:48

100 次查看

为此,在 MongoDB 的 aggregate() 中使用 $group。$group 根据指定的 _id 表达式对输入文档进行分组,并为每个不同的分组输出一个文档。让我们首先创建一个包含文档的集合 -> db.demo534.insertOne({_id:10, "ProductId":100, "ProductName":"Product-1"}); { "acknowledged" : true, "insertedId" : 10 } > db.demo534.insertOne({_id:11, "ProductId":100, "ProductName":"Product-2"}); { "acknowledged" : true, "insertedId" : 11 } > db.demo534.insertOne({_id:12, "ProductId":101, "ProductName":"Product-1"}); { "acknowledged" : true, "insertedId" : 12 }使用 find() 方法显示集合中的所有文档 -> db.demo534.find();这将产生以下输出 -{ "_id" : 10, "ProductId" : 100, "ProductName" : "Product-1" } { ... 阅读更多

无法在 MongoDB 中实现 $addToSet 以获取单个字段的值?

AmitDiwan
更新于 2020年5月14日 06:25:20

220 次查看

$addToSet 运算符将值添加到数组中,除非该值已存在,在这种情况下,$addToSet 对该数组不做任何操作。让我们创建一个包含文档的集合 -> db.demo533.insertOne({"ProjectName":"Online Hospital Management"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b4cfaef4dcbee04fbbbfc") } > db.demo533.insertOne({"ProjectName":"Online Library Management"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b4d02ef4dcbee04fbbbfd") } > db.demo533.insertOne({"ProjectName":"Online Hospital Management"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b4d04ef4dcbee04fbbbfe") } > db.demo533.insertOne({"ProjectName":"Online Customer Tracker"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b4d0def4dcbee04fbbbff") }使用 find() 方法显示集合中的所有文档 -> db.demo533.find();这将产生以下输出 -{ ... 阅读更多

MongoDB 查询仅根据角色获取“Name”字段?

AmitDiwan
更新于 2020年5月14日 06:22:55

231 次查看

为此,使用 aggregate()。在这里,我们考虑了 3 个角色 - 管理员、访客和用户。让我们创建一个包含文档的集合 -> db.demo532.insertOne({"Name":"Chris", "Type":"Admin"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b4a9def4dcbee04fbbbf9") } > db.demo532.insertOne({"Name":"David", "Type":"Guest"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b4aa3ef4dcbee04fbbbfa") } > db.demo532.insertOne({"Name":"Bob", "Type":"User"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b4ab0ef4dcbee04fbbbfb") }使用 find() 方法显示集合中的所有文档 -> db.demo532.find();这将产生以下输出 -{ "_id" : ObjectId("5e8b4a9def4dcbee04fbbbf9"), "Name" : "Chris", "Type" : "Admin" } { "_id" : ObjectId("5e8b4aa3ef4dcbee04fbbbfa"), "Name" : "David", "Type" : "Guest" } { "_id" ... 阅读更多

如何在 MongoDB 控制台中使用包含特殊字符(如“customer_tracker-990”)的数据库名称?

AmitDiwan
更新于 2020年5月13日 10:25:43

364 次查看

是的,使用 getSiblingDB()。让我们向数据库添加一些文档 -> use customer_tracker-990; switched to db customer_tracker-990 > db.demo1.insertOne({"Name":"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea4697ca7e81adc6a0b3954") } > db.demo1.insertOne({"Name":"David"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea46980a7e81adc6a0b3955") } > db.demo1.insertOne({"Name":"Bob"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea46984a7e81adc6a0b3956") }使用 find() 方法显示集合中的所有文档 -> db.getSiblingDB("customer_tracker-990").demo1.find();这将产生以下输出 -{ "_id" : ObjectId("5ea4697ca7e81adc6a0b3954"), "Name" : "Chris" } { "_id" : ObjectId("5ea46980a7e81adc6a0b3955"), "Name" : "David" } { "_id" : ObjectId("5ea46984a7e81adc6a0b3956"), "Name" : "Bob" }阅读更多

限制 MongoDB 集合中的文档数量?

AmitDiwan
更新于 2020年5月13日 10:24:09

393 次查看

要限制集合中的文档数量,请将 capped 设置为 true。在其中设置大小。让我们创建一个包含文档的集合 -> db.createCollection( "demo683", { capped: true, size: 5 ,max:4} ) { "ok" : 1 } > db.demo683.insertOne({Value:100}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea468afa7e81adc6a0b394e") } > db.demo683.insertOne({Value:500}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea468b0a7e81adc6a0b394f") } > db.demo683.insertOne({Value:1000}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea468b1a7e81adc6a0b3950") } > db.demo683.insertOne({Value:400}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea468b2a7e81adc6a0b3951") } > db.demo683.insertOne({Value:800}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea468b3a7e81adc6a0b3952") } ... 阅读更多

有没有办法跳过 MongoDB 中的一些文档?

AmitDiwan
更新于 2020年5月13日 10:22:17

119 次查看

是的,您可以使用 MongoDB 中的 skip() 跳过一些文档。使用 limit() 来显示跳过一些文档后要显示多少个文档。让我们创建一个包含文档的集合 -> db.demo682.insertOne({FirstName:"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea462a804263e90dac94402") } > db.demo682.insertOne({FirstName:"Sam"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea462ac04263e90dac94403") } > db.demo682.insertOne({FirstName:"Bob"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea462af04263e90dac94404") } > db.demo682.insertOne({FirstName:"David"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea462b304263e90dac94405") } > db.demo682.insertOne({FirstName:"Adam"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea462ba04263e90dac94406") } > db.demo682.insertOne({FirstName:"Chris"}); {    "acknowledged" : true,    "insertedId" ... 阅读更多

从 MongoDB 集合中获取最顶部的文档

AmitDiwan
更新于 2020年5月13日 10:19:35

143 次查看

要获取最顶部的文档,请将 find() 与 limit() 结合使用。要仅获取单个文档,请考虑使用 limit(1)。让我们创建一个包含文档的集合 -> db.demo681.insertOne({_id:101, Name:"Chris"}); { "acknowledged" : true, "insertedId" : 101 } > db.demo681.insertOne({_id:102, Name:"Bob"}); { "acknowledged" : true, "insertedId" : 102 } > db.demo681.insertOne({_id:103, Name:"David"}); { "acknowledged" : true, "insertedId" : 103 } > db.demo681.insertOne({_id:104, Name:"Bob"}); { "acknowledged" : true, "insertedId" : 104 } > db.demo681.insertOne({_id:105, Name:"Sam"}); { "acknowledged" : true, "insertedId" : 105 }使用 find() 方法显示集合中的所有文档 -> db.demo681.find();这将产生以下输出 -{ ... 阅读更多

在 MongoDB $and 中设置 $gt 条件

AmitDiwan
更新于 2020年5月13日 10:18:33

184 次查看

$and 对一个或多个表达式的数组执行逻辑 AND 操作。让我们创建一个包含文档的集合 -> db.demo680.insertOne({Values:40}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea4461b04263e90dac943fe") } > db.demo680.insertOne({Values:70}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea4461e04263e90dac943ff") } > db.demo680.insertOne({Values:[80, 30]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea4462a04263e90dac94400") } > db.demo680.insertOne({Values:20}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea4463304263e90dac94401") }使用 find() 方法显示集合中的所有文档 -> db.demo680.find();这将产生以下输出 -{ "_id" : ObjectId("5ea4461b04263e90dac943fe"), "Values" : 40 } { "_id" : ... 阅读更多

在 MongoDB 中拉取子子数组中的元素?

AmitDiwan
更新于 2020年5月14日 09:25:43

364 次查看

要拉取元素,请使用 $pull 以及 $(positional) 运算符。让我们创建一个包含文档的集合 -> db.demo679.insertOne( ...    { ...       id:1, ...       "details": [ ...          { ...             CountryName:"US", ...             "information": [ ... ...                { "Name": "Chris", "FirstName": "Name=Chris" }, ... ...                {"Name": "Bob", "FirstName": "Name=Bob" } ...             ] ...          }, ... ... 阅读更多

如何索引我的集合以使用复合多键索引?

AmitDiwan
更新于 2020年5月14日 09:24:10

62 次查看

为此,使用 ensureIndex()。让我们创建一个包含文档的集合 -> db.demo678.ensureIndex({id:1,"details.userId":1}); {    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 } > db.demo678.insertOne( ...    { ...       id:101, ... ...       "details" : [ ...          { ...             "userId" : "1001", ...             "userName":"Chris" ...          }, ...          { ...             "userId" : "1002", ...             "userName":"David" ...          } ...       ], ...       "otherDetails" : [ ...          { ...             CountryName:"US", ...             EmailId:["[email protected]","[email protected]"] ...          } ...       ] ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea4276904263e90dac943fc") }使用 find() 方法显示集合中的所有文档 -> db.demo678.find();这将产生以下输出 -{ "_id" : ObjectId("5ea4276904263e90dac943fc"), "id" : 101, "details" : [    { "userId" : "1001", "userName" : "Chris" },    { "userId" : "1002", "userName" : "David" } ], "otherDetails" : [    { "CountryName" : "US", "EmailId" : [ "[email protected]", "[email protected]" ] } ] }

广告