找到 6705 篇文章 关于数据库

MongoDB 中的聚合查询与 $match 是否有效?

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

115 次浏览

是的,它在 MongoDB 中有效。让我们创建一个包含文档的集合 -> db.demo358.insertOne({"ClientId":101, "ClientName":"Chris", "ClientAge":34}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5692c0f8647eb59e5620cb") } > db.demo358.insertOne({"ClientId":102, "ClientName":"David", "ClientAge":32}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5692caf8647eb59e5620cc") } > db.demo358.insertOne({"ClientId":103, "ClientName":"David", "ClientAge":35}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5692d2f8647eb59e5620cd") } > db.demo358.insertOne({"ClientId":104, "ClientName":"Bob", "ClientAge":31}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5692ddf8647eb59e5620ce") } > db.demo358.insertOne({"ClientId":105, "ClientName":"Chris", "ClientAge":36}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5692e7f8647eb59e5620cf") }使用 find() 方法显示集合中的所有文档 -> db.demo358.find();这将产生以下输出 ... 阅读更多

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

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 ...             }, ...             ... 阅读更多

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 } { ... 阅读更多

广告