找到关于 MongoDB 的1349 篇文章

遍历所有 MongoDB 集合并执行查询?

Nishtha Thakur
更新于 2019年7月30日 22:30:25

682 次浏览

首先,你需要使用 getCollectionNames() 获取你的集合。数据库名称为“test”。让我们遍历所有 MongoDB 集合并执行查询。查询如下所示:-> db.getCollectionNames().forEach(function(collectioNameDemo) ... {    ... var nextDemo = db[(collectioNameDemo) ].find().sort({_id:-1}).limit(1);    ... if (nextDemo.hasNext())    ... {       ... printjson(nextDemo.next()._id.getTimestamp());    ... } ... });输出如下:ISODate("2019-02-21T18:52:43Z") ISODate("2019-03-19T17:49:00Z") ISODate("2019-03-06T15:40:12Z") ISODate("2019-03-15T16:31:50Z") ISODate("2019-02-21T15:40:52Z") ISODate("2019-03-06T06:14:37Z") ISODate("2019-02-21T19:29:15Z") ISODate("2019-03-15T13:35:33Z") ISODate("2019-03-14T21:13:58Z") ISODate("2019-03-18T22:02:54Z") ISODate("2019-03-22T18:01:45Z") ISODate("2019-03-06T16:21:14Z") ISODate("2019-02-20T15:04:32Z") ISODate("2019-03-06T07:45:42Z") ISODate("2019-03-19T12:33:17Z") ISODate("2019-03-20T21:39:21Z") ISODate("2019-03-15T16:44:26Z") ISODate("2019-03-22T06:20:45Z") ISODate("2019-02-21T16:40:55Z") ISODate("2019-02-21T12:45:20Z") ISODate("2019-03-06T16:05:48Z") ISODate("2019-03-06T16:00:08Z") ISODate("2019-02-28T12:43:56Z") ISODate("2019-03-20T22:11:41Z") ISODate("2019-03-06T05:56:45Z") ISODate("2019-03-06T07:34:12Z") ISODate("2019-03-14T21:00:16Z") ISODate("2019-02-28T10:33:39Z") ISODate("2019-03-06T05:11:10Z") ISODate("2019-02-28T09:44:28Z") ISODate("2019-03-06T10:13:22Z") ISODate("2019-03-17T21:35:26Z")阅读更多

如何在 MongoDB 中查询列表字段?

Anvi Jain
更新于 2019年7月30日 22:30:25

778 次浏览

要了解列表字段上的查询以及或运算,你可以创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.andOrDemo.insertOne({"StudentName":"Larry", "StudentScore":[33, 40, 50, 60, 70]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c9522d316f542d757e2b444") } > db.andOrDemo.insertOne({"StudentName":"Larry", "StudentScore":[87, 67, 79, 98, 90]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c95230916f542d757e2b445") }使用 find() 方法显示集合中的所有文档。查询如下所示:-> db.andOrDemo.find().pretty();输出如下:{    "_id" : ObjectId("5c9522d316f542d757e2b444"),    "StudentName" : "Larry",    "StudentScore" : [       33,   ... 阅读更多

如何在 MongoDB 中删除数组的第 n 个元素?

Smita Kapse
更新于 2019年7月30日 22:30:25

254 次浏览

你可以使用 $unset 和 $pull 运算符以及更新操作来删除数组的第 n 个元素。让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.getNThElementDemo.insertOne({"UserName":"John", "UserAge":23, "ListOfFriends":["Carol", "Sam", "Mike", "Bob"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c94ee7516f542d757e2b43e") } > db.getNThElementDemo.insertOne({"UserName":"David", "UserAge":21, "ListOfFriends":["Chris", "Robert"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c94eeaa16f542d757e2b43f") }使用 find() 方法显示集合中的所有文档。查询如下所示:-> db.getNThElementDemo.find().pretty();输出如下:{    "_id" : ObjectId("5c94ee7516f542d757e2b43e"),    "UserName" ... 阅读更多

如何识别 MongoDB find() 结果集中的最后一个文档?

Nishtha Thakur
更新于 2019年7月30日 22:30:25

185 次浏览

要识别 MongoDB find() 结果集中的最后一个文档,你可以使用 sort() 方法按降序排序。语法如下:db.yourCollectionName.find().sort( { _id : -1 } ).limit(1).pretty();为了理解上述语法,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.identifyLastDocuementDemo.insertOne({"UserName":"Larry", "UserAge":24, "UserCountryName":"US"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c94a2ff4cf1f7a64fa4df57") } > db.identifyLastDocuementDemo.insertOne({"UserName":"Chris", "UserAge":21, "UserCountryName":"UK"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c94a3094cf1f7a64fa4df58") } > db.identifyLastDocuementDemo.insertOne({"UserName":"David", "UserAge":25, "UserCountryName":"AUS"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c94a3174cf1f7a64fa4df59") } > db.identifyLastDocuementDemo.insertOne({"UserName":"Sam", "UserAge":26, "UserCountryName":"US"}); { ... 阅读更多

如何检查 MongoDB 的当前配置?

Anvi Jain
更新于 2019年7月30日 22:30:25

2K+ 次浏览

为了检查 MongoDB 的当前配置,可以使用 getCmdLineOpts。查询如下所示:-> db._adminCommand( {getCmdLineOpts: 1});输出如下:{ "argv" : [ "mongod" ], "parsed" : { }, "ok" : 1 }为了检查实时设置,可以使用以下查询:-> db._adminCommand({getParameter:"*"});输出如下:{    "AsyncRequestsSenderUseBaton" : true,    "KeysRotationIntervalSec" : 7776000,    "ShardingTaskExecutorPoolHostTimeoutMS" : 300000,    "ShardingTaskExecutorPoolMaxConnecting" : 2,    "ShardingTaskExecutorPoolMaxSize" : -1,    "ShardingTaskExecutorPoolMinSize" : 1,    "ShardingTaskExecutorPoolRefreshRequirementMS" : 60000,    "ShardingTaskExecutorPoolRefreshTimeoutMS" : 20000,    "TransactionRecordMinimumLifetimeMinutes" : 30,    "adaptiveServiceExecutorIdlePctThreshold" : 60,    "adaptiveServiceExecutorMaxQueueLatencyMicros" ... 阅读更多

如何使用 MongoDB 实现分页?

Smita Kapse
更新于 2019年7月30日 22:30:25

214 次浏览

你可以使用 MongoDB 中的 limit() 和 skip() 方法实现分页。为了理解这个概念,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.paginationDemo.insertOne({"CustomerName":"Chris", "CustomerAge":23}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c949de44cf1f7a64fa4df52") } > db.paginationDemo.insertOne({"CustomerName":"Robert", "CustomerAge":26}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c949df14cf1f7a64fa4df53") } > db.paginationDemo.insertOne({"CustomerName":"David", "CustomerAge":24}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c949dfc4cf1f7a64fa4df54") } > db.paginationDemo.insertOne({"CustomerName":"Carol", "CustomerAge":28}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c949e3e4cf1f7a64fa4df55") } > db.paginationDemo.insertOne({"CustomerName":"Bob", "CustomerAge":29}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c949e474cf1f7a64fa4df56") ... 阅读更多

如何实现 MongoDB $or 查询?

Nishtha Thakur
更新于 2019年7月30日 22:30:25

117 次浏览

MongoDB 中 $or 查询的语法如下:db.yourCollectionName.find({ $or : [ { "yourFieldName" : "yourValue1" }, {"yourFieldName":"yourValue2"}, ...........N ] } ).pretty();为了理解这个概念,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.orDemo.insertOne({"UserName":"Larry", "UserAge":23}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c9491fd4cf1f7a64fa4df4c") } > db.orDemo.insertOne({"UserName":"David", "UserAge":21}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c9492074cf1f7a64fa4df4d") } > db.orDemo.insertOne({"UserName":"Mike", "UserAge":25}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c94920e4cf1f7a64fa4df4e") } > db.orDemo.insertOne({"UserName":"Sam", "UserAge":20}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c9492144cf1f7a64fa4df4f") } ... 阅读更多

如何在 MongoDB 中更新所有文档?

Anvi Jain
更新于 2019年7月30日 22:30:25

735 次浏览

你可以使用 updateMany() 来更新文档。让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.updateManyDocumentsDemo.insertOne({"StudentName":"John", "StudentLastName":"Smith"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c948edd4cf1f7a64fa4df48") } > db.updateManyDocumentsDemo.insertOne({"StudentName":"John", "StudentLastName":"Doe"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c948ee64cf1f7a64fa4df49") } > db.updateManyDocumentsDemo.insertOne({"StudentName":"Carol", "StudentLastName":"Taylor"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c948ef14cf1f7a64fa4df4a") } > db.updateManyDocumentsDemo.insertOne({"StudentName":"David", "StudentLastName":"Miller"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c948f044cf1f7a64fa4df4b") }使用 find() 方法显示集合中的所有文档。查询如下所示:-> db.updateManyDocumentsDemo.find().pretty();输出如下: ... 阅读更多

MongoDB 查询中是否可以进行类型转换?

Smita Kapse
更新于 2019年7月30日 22:30:25

260 次浏览

是的,可以在 MongoDB 查询中进行类型转换:db.yourCollectionName.find("this.yourFieldName >yourValue);为了理解这个概念,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.castingDemo.insertOne({"Amount":"200"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c947e874cf1f7a64fa4df42") } > db.castingDemo.insertOne({"Amount":"100"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c947e8e4cf1f7a64fa4df43") } > db.castingDemo.insertOne({"Amount":"110"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c947e944cf1f7a64fa4df44") } > db.castingDemo.insertOne({"Amount":"95"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c947e9d4cf1f7a64fa4df45") } > db.castingDemo.insertOne({"Amount":"85"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c947ea44cf1f7a64fa4df46") } > db.castingDemo.insertOne({"Amount":"75"}); {    "acknowledged" ... 阅读更多

MongoDB 聚合框架中字段之间的匹配?

Nishtha Thakur
更新于 2019年7月30日 22:30:25

206 次浏览

您可以使用`$cmp` 运算符来实现此功能。为了理解这个概念,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下:-> `db.matchBetweenFieldsDemo.insertOne({"FirstValue":40, "SecondValue":70})`; `{ "acknowledged" : true, "insertedId" : ObjectId("5c92c9625259fcd19549980d") }` > `db.matchBetweenFieldsDemo.insertOne({"FirstValue":20, "SecondValue":5})`; `{ "acknowledged" : true, "insertedId" : ObjectId("5c92c96b5259fcd19549980e") }` 使用`find()`方法显示集合中的所有文档。查询如下:-> `db.matchBetweenFieldsDemo.find().pretty()`; 输出如下: `{ "_id" : ObjectId("5c92c9625259fcd19549980d"), "FirstValue" : 40, "SecondValue" : 70 }` `{ "_id" : ... 阅读更多

广告