找到关于数据库的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 查询?

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运算符对一个或多个表达式的数组执行逻辑与操作。让我们创建一个包含文档的集合-> 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]" ] } ] }

广告