找到 1349 篇文章 关于 MongoDB

如何在 MongoDB 查询中选择特定列?

AmitDiwan
更新于 2020-04-03 13:28:16

7K+ 次浏览

要选择特定的列,您可以忽略其余的列,即要隐藏这些列,将其设置为 0。让我们首先创建一个包含文档的集合 -> db.demo415.insertOne({"ClientName":"Robert", "ClientCountryName":"US"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e72329db912067e57771adc") } > db.demo415.insertOne({"ClientName":"David", "ClientCountryName":"UK"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e7232acb912067e57771add") } > db.demo415.insertOne({"ClientName":"Bob", "ClientCountryName":"AUS"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e7232b4b912067e57771ade") }使用 find() 方法显示集合中的所有文档 -> db.demo415.find();这将产生以下输出 -{ "_id" : ObjectId("5e72329db912067e57771adc"), "ClientName" : "Robert", "ClientCountryName" : "US" } { "_id" : ObjectId("5e7232acb912067e57771add"), ... 阅读更多

在 MongoDB 数据库中对象数组上按 _id 查找?

AmitDiwan
更新于 2020-04-03 13:26:08

746 次浏览

要在对象数组上按 _id 查找,请使用聚合并避免使用 find()。让我们首先创建一个包含文档的集合 -> db.demo414.insertOne( ...    { ...       "_id": "110", ...       "details":[ ...          { ...             "StudentName":"John", ...             "StudentMarks":56 ...          }, ...          { ...             "StudentName":"Robert", ...             "StudentMarks":98 ...          } ...       ] ...    } ... ); { "acknowledged" : true, "insertedId" : "110" }使用 find() 方法显示集合中的所有文档 -> db.demo414.find();这将产生以下输出 -{ "_id" : "110", "details" : [ { "StudentName" : "John", "StudentMarks" : 56 }, { "StudentName" : "Robert", "StudentMarks" : 98 } ] }以下是按对象数组中的 _id 查找的查询 -> db.demo414.aggregate([{$unwind: "$details"}, {$match:{"details.StudentMarks" :56}}] )这将产生以下输出 -{ "_id" : "110", "details" : { "StudentName" : "John", "StudentMarks" : 56 } }

是否可以使用通配符在 MongoDB 中排除嵌套字段?

AmitDiwan
更新于 2020-04-03 13:24:14

810 次浏览

使用聚合管道实现此目的。让我们首先创建一个包含文档的集合 -> db.demo413.insertOne( ...    { ...       "_id": "101", ...       "details": { ...          "Info1": { ...             Name:"Chris", ...             Age:21 ...          }, ...          "Info2": { ...             Name:"David", ...             Age:23 ...          } ...       } ...    } ... ); { "acknowledged" : true, "insertedId" : "101" }使用 find() 方法显示集合中的所有文档 -> db.demo413.find();这将产生以下输出 -{ "_id" : "101", "details" : { "Info1" : { "Name" : "Chris", "Age" : 21 }, "Info2" : { "Name" : "David", "Age" : 23 } } }以下是排除嵌套字段的查询 -> db.demo413.aggregate([ ...    { $project: { "details" : { $objectToArray: "$details" } } }, ...    { $project: { "details.v.Age" : 0} }, ...    { $project: { "details" : { $arrayToObject: "$details"} } } ... ]);这将产生以下输出 -{ "_id" : "101", "details" : { "Info1" : { "Name" : "Chris" }, "Info2" : { "Name" : "David" } } }

更新 MongoDB 中对象数组内嵌套的字符串数组

AmitDiwan
更新于 2020-04-03 13:22:52

210 次浏览

让我们创建一个包含文档的集合 -> db.demo411.aggregate( ...    [ ...       {$project : { ...          _id : 0, ...          Information : {$map : {input : "$Information", as : "out", in : ["$$out.Name1", "$$out.Name2"]}} ...          } ...       } ...    ] ... ) { "Information" : [ [ "Chris", "David" ], [ "John", "John" ] ] } > db.demo412.insertOne( ...    { ...       "Information1" : [ ...          { ...           ... 阅读更多

如何使用 MongoDB 聚合获取数组中的值?

AmitDiwan
更新于 2020-04-03 13:20:04

849 次浏览

让我们创建一个包含文档的集合 -> db.demo411.insertOne( ...    { ...       "Information" : [ ...          { ...             "Name1" : "Chris", ...             "Name2" : "David" ...          }, ...          { ...             "Name1" : "John", ...             "Name2" : "John" ...          } ...       ] ...    } ... ); {    "acknowledged" : true,    "insertedId" ... 阅读更多

如何在 MongoDB 中删除不匹配条件的元素?

AmitDiwan
更新于 2020-04-03 13:18:01

352 次浏览

要删除元素,请使用 $pull,对于此类条件,请使用 $ne。MongoDB 中的 $ne 用于选择字段值不等于指定值的文档。让我们创建一个包含文档的集合 -> db.demo410.insertOne( ...    { ...       details: [{isMarried:false}, {isMarried:true}, {isMarried:false}, {isMarried:"Chris"}] ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70efc515dc524f70227681") }使用 find() 方法显示集合中的所有文档 -> db.demo410.find();这将产生以下输出 -{ "_id" : ObjectId("5e70efc515dc524f70227681"), "details" : [ { "isMarried" : false }, { ... 阅读更多

如何查找包含特定字符串的 MongoDB 文档?

AmitDiwan
更新于 2020-04-03 13:15:44

162 次浏览

要查找包含特定字符串的文档,请使用 find(),并在其中使用正则表达式搜索字符串。让我们创建一个包含文档的集合 -> db.demo409.insertOne({"Name":"John Doe"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e4e515dc524f7022767c") } > db.demo409.insertOne({"Name":"Chris Brown"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e4ec15dc524f7022767d") } > db.demo409.insertOne({"Name":"Robert Doe"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e4f415dc524f7022767e") } > db.demo409.insertOne({"Name":"David Brown"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e4fe15dc524f7022767f") }使用 find() 方法显示集合中的所有文档 -> db.demo409.find();这将产生以下输出 -{ "_id" : ObjectId("5e70e4e515dc524f7022767c"), "Name" ... 阅读更多

理解 MongoDB 查询计划

AmitDiwan
更新于 2020-04-03 13:13:53

470 次浏览

在 MongoDB 中获取查询计划,使用 explain()。$explain 运算符提供有关查询计划的信息。让我们创建一个包含文档的集合 -> db.demo408.insertOne({"Value":50}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e3a115dc524f70227678") } > db.demo408.insertOne({"Value":20}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e3a715dc524f70227679") } > db.demo408.insertOne({"Value":45}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e3ac15dc524f7022767a") } > db.demo408.insertOne({"Value":35}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e3af15dc524f7022767b") } > db.demo408.createIndex({Value:1}); {    "createdCollectionAutomatically" : false,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 }使用...帮助从集合中显示所有文档 阅读更多

如何在现有数据库上创建具有正确角色的 MongoDB 用户?

AmitDiwan
更新于 2020年4月3日 13:01:56

218 次浏览

要在 MongoDB 中创建新用户,请使用 createUser()。以下是查询 -> db.createUser( ...    { ...       user: "John", ...       pwd: "123456", ...       roles: [ { role: "readWrite", db: "test" } ], ...       mechanisms: [ "SCRAM-SHA-256" ] ...    } ... )这将产生以下输出 -成功添加用户: {    "user" : "John",    "roles" : [       {          "role" : "readWrite",          "db" : "test"       }    ],    "mechanisms" : [       "SCRAM-SHA-256"    ] }以下是显示所有用户的查询 -> db.getUsers();这将产生以下输出 -[    {       "_id" : "test.John",       "user" : "John",       "db" : "test",       "roles" : [          {             "role" : "readWrite",             "db" : "test"          }       ],       "mechanisms" : [          "SCRAM-SHA-256"       ]    } ]

如何在 MongoDB 中通过查询子文档将数组用作过滤器?

AmitDiwan
更新于 2020年4月3日 13:08:58

105 次浏览

为此,请在 MongoDB 中使用 $setIsSubset。让我们创建一个包含文档的集合 -> db.demo407.insertOne( ...    { ...       Name:"Chris", ...       "details" : [ ...          { ...             id:100 ...          }, ...          { ...             id:110 ...          }, ...          { ...             id:130 ...          } ...       ] ...    } ... ); ... 阅读更多

广告