找到关于 MongoDB 的1349 篇文章
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")阅读更多
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, ... 阅读更多
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" ... 阅读更多
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"}); { ... 阅读更多
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" ... 阅读更多
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") ... 阅读更多
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") } ... 阅读更多
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();输出如下: ... 阅读更多
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" ... 阅读更多
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" : ... 阅读更多