找到 1349 篇文章 关于 MongoDB

MongoDB 查询:如何从使用 NumberInt() 设置字段值的文档中获取特定文档?

AmitDiwan
更新于 2020年4月2日 08:15:55

229 次浏览

NumberInt() 用于显式指定 32 位整数。让我们创建一个包含文档的集合 -> db.demo357.insertOne( ... { ... "FirstName" : "Chris", ... "Age" : 21, ... "details" : { ... "studentDetails" : { ... "id" : NumberInt(101) ... } ... } ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e568fa6f8647eb59e5620c9") } > db.demo357.insertOne( ... { ... "FirstName" : "David", ... ... 阅读更多

如何在 MongoDB 中验证插入或更新前的文档?

AmitDiwan
更新于 2020年4月2日 08:13:38

545 次浏览

要验证文档,请使用验证的概念。以下是查询 -> db.createCollection("demo356", {validator: { ... $and: [ {"FirstName": {$type: "string", $exists: true}} ] ... }}) { "ok" : 1 }让我们创建一个包含文档的集合 -> db.demo356.insertOne({"FirstName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e568d49f8647eb59e5620c7") } > db.demo356.insertOne({"FirstName":909}); 2020-02-26T20:52:58.497+0530 E QUERY [js] WriteError: Document failed validation : WriteError({ "index" : 0, "code" : 121, "errmsg" : "Document failed validation", "op" : { "_id" : ObjectId("5e568d52f8647eb59e5620c8"), "FirstName" : 909 } }) WriteError@src/mongo/shell/bulk_api.js:461:48 Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49 Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13 Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21 DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9 ... 阅读更多

如何使用 MongoDB 投影数组字段中的特定元素?

AmitDiwan
更新于 2020年4月2日 08:10:30

3K+ 次浏览

要投影数组字段中的特定元素,请使用 $project。让我们创建一个包含文档的集合 ->db.demo355.insertOne({"id":101, "details":[{"Name":"Chris", isMarried:1}, {"Name":"David", isMarried:0}, {"Name":"Mike", isMarried:1}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e568928f8647eb59e5620c5") }使用 find() 方法显示集合中的所有文档 -> db.demo355.find().pretty();这将产生以下输出 -{ "_id" : ObjectId("5e568928f8647eb59e5620c5"), "id" : 101, "details" : [ { "Name" : "Chris", "isMarried" : 1 }, { "Name" : "David", ... 阅读更多

MongoDB 查询:如何计算按另一个字段分组的唯一字段的数量?

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

260 次浏览

为此,请使用 aggregate() 和带有 $group 的 group。让我们创建一个包含文档的集合 -> db.demo354.insertOne({"Name1":"Chris", "Name2":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5685a6f8647eb59e5620c0") } > db.demo354.insertOne({"Name1":"Chris", "Name2":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5685a9f8647eb59e5620c1") } > db.demo354.insertOne({"Name1":"Chris", "Name2":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5685aff8647eb59e5620c2") } > db.demo354.insertOne({"Name1":"Carol", "Name2":"John"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5685c4f8647eb59e5620c3") } > db.demo354.insertOne({"Name1":"Carol", "Name2":"John"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5685c5f8647eb59e5620c4") }使用 find() 方法显示集合中的所有文档 -> db.demo354.find();这将产生以下输出 -{ "_id" ... 阅读更多

MongoDB 查询:如何查找每个文档中三个键的最早日期

AmitDiwan
更新于 2020年4月2日 08:04:33

474 次浏览

要查找最早的日期,请在 MongoDB aggregate() 中使用 $min。让我们创建一个包含文档的集合 -> db.demo353.insertOne({"Date1":new ISODate("2019-01-10"), "Date2":new ISODate("2016-01-21"), "Date3":new ISODate("2020-04-11")}); { "acknowledged" : true, "insertedId" : ObjectId("5e568261f8647eb59e5620be") } > db.demo353.insertOne({"Date1":new ISODate("2011-11-20"), "Date2":new ISODate("2013-12-10"), "Date3":new ISODate("2014-01-05")}); { "acknowledged" : true, "insertedId" : ObjectId("5e56827ff8647eb59e5620bf") }使用 find() 方法显示集合中的所有文档 -> db.demo353.find();这将产生以下输出 -{ "_id" : ObjectId("5e568261f8647eb59e5620be"), "Date1" : ISODate("2019-01-10T00:00:00Z"), "Date2" : ISODate("2016-01-21T00:00:00Z"), "Date3" : ISODate("2020-04-11T00:00:00Z") } { "_id" : ObjectId("5e56827ff8647eb59e5620bf"), "Date1" : ISODate("2011-11-20T00:00:00Z"), "Date2" : ISODate("2013-12-10T00:00:00Z"), "Date3" : ISODate("2014-01-05T00:00:00Z") }以下查询 ... 阅读更多

MongoDB 查询:如何更新选定的字段

AmitDiwan
更新于 2020年4月2日 08:02:15

439 次浏览

要更新选定的字段,请在 MongoDB 中使用 UPDATE()。$set 用于设置新值。让我们创建一个包含文档的集合 -> db.demo352.insertOne({"Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e55510af8647eb59e5620ba") } > db.demo352.insertOne({"Name":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e55510ef8647eb59e5620bb") } > db.demo352.insertOne({"Name":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e555112f8647eb59e5620bc") } > db.demo352.insertOne({"Name":"Mike"}); { "acknowledged" : true, "insertedId" : ObjectId("5e555115f8647eb59e5620bd") }使用 find() 方法显示集合中的所有文档 -> db.demo352.find();这将产生以下输出 -{ "_id" : ObjectId("5e55510af8647eb59e5620ba"), "Name" : "Chris" } { "_id" ... 阅读更多

如何使用查询和范围过滤器在 MongoDB 文档中查找特定的数组元素?

AmitDiwan
更新于 2020年4月2日 08:00:44

162 次浏览

为此,请在 MongoDB 中使用 aggregate()。让我们创建一个包含文档的集合 -> db.demo351.insertOne( ... { ... "_id" : "101", "ProductDetails" : [ { "ProductName" : "Product-1", "ProductPrice" :500 }, { "ProductName" : "Product-2", "ProductPrice" :400 } ] } ... ); { "acknowledged" : true, "insertedId" : "101" } > db.demo351.insertOne( ... { ... ... 阅读更多

查询 MongoDB 中深度嵌套的对象

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

2K+ 次浏览

要查询深度嵌套的对象,请在 MongoDB 中使用点(.) 表示法。让我们创建一个包含文档的集合 -> db.demo350.insertOne( ... { id:101, Name: "Chris", details: [ { _id: 1, ClientNumber: "10001", ClientDetails: [ . ... { Name:"David", Age:29 }, ... ] } ] } ... );{ "acknowledged" : true, "insertedId" : ObjectId("5e552e5af8647eb59e5620af") }> db.demo350.find({"details.ClientDetails.Name":"David"}); ... 阅读更多

使用 MongoDB 的 findOneAndUpdate() 更新单个文档

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

268 次浏览

findOneAndUpdate() 用于仅更新 MongoDB 中的单个文档。让我们创建一个包含文档的集合 -db.demo349.insertOne({"Name":"Chris", "Marks":56}); { "acknowledged" : true, "insertedId" : ObjectId("5e55384af8647eb59e5620b4") } > db.demo349.insertOne({"Name":"David", "Marks":78}); { "acknowledged" : true, "insertedId" : ObjectId("5e553853f8647eb59e5620b5") } > db.demo349.insertOne({"Name":"Chris", "Marks":89}); { "acknowledged" : true, "insertedId" : ObjectId("5e55385af8647eb59e5620b6") } > db.demo349.insertOne({"Name":"David", "Marks":54}); { "acknowledged" : true, "insertedId" : ObjectId("5e55385ff8647eb59e5620b7") }使用 find() 方法显示集合中的所有文档 -> db.demo349.find();这将产生以下输出 -{ "_id" : ObjectId("5e55384af8647eb59e5620b4"), "Name" : "Chris", "Marks" : 56 } { ... 阅读更多

如何在 MongoDB 中取消设置对象?

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

254 次浏览

要取消设置 MongoDB 中的对象,请使用 $unset。让我们创建一个包含文档的集合 -> db.demo348.insertOne( ... { ... "details": { ... "studentDetails": { ... StudentName: "Robert" ... } ... } ... ... }); { "acknowledged" : true, "insertedId" : ObjectId("5e553556f8647eb59e5620b2") } > db.demo348.insertOne( ... { ... "details": { ... "studentDetails": { ... StudentName: "Mike" ... } ... ... 阅读更多

广告