找到 1660 篇文章,关于大数据分析

MongoDB 查询的反向操作,如何返回除特定文档外的所有项目?

AmitDiwan
更新于 2020年3月31日 08:22:09

449 次浏览

要获取除某些特定文档外的文档,请使用 `$nor` 和 `$and`。让我们首先创建一个包含文档的集合:-> db.demo1.insertOne({"StudentName":"Chris", "StudentMarks":38}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e08a4f025ddae1f53b62216") } > db.demo1.insertOne({"StudentName":"David", "StudentMarks":78}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e08a4f725ddae1f53b62217") } > db.demo1.insertOne({"StudentName":"Mike", "StudentMarks":96}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e08a4fd25ddae1f53b62218") } 以下是如何使用 find() 方法显示集合中所有文档的查询:-> db.demo1.find().pretty(); 这将产生以下输出:-{    "_id" : ObjectId("5e08a4f025ddae1f53b62216"),    "StudentName" : "Chris",    "StudentMarks" : 38 } {    "_id" : ... 阅读更多

如何在 MongoDB 中指定查询返回匹配文档的顺序?

AmitDiwan
更新于 2020年3月31日 08:20:52

87 次浏览

要在 MongoDB 中指定查询返回匹配文档的顺序,请使用 `cursor.sort()`。游标是 `db.collectionName.find()`。让我们创建一个包含文档的集合:-> db.demo259.insertOne({"Subject":"MySQL"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47ae1f1627c0c63e7dba98") } > db.demo259.insertOne({"Subject":"Java"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47ae231627c0c63e7dba99") } > db.demo259.insertOne({"Subject":"MongoDB"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47ae281627c0c63e7dba9a") } 使用 find() 方法显示集合中的所有文档:-> db.demo259.find(); 这将产生以下输出:-{ "_id" : ObjectId("5e47ae1f1627c0c63e7dba98"), "Subject" : "MySQL" } { "_id" : ObjectId("5e47ae231627c0c63e7dba99"), "Subject" : "Java" } { "_id" : ObjectId("5e47ae281627c0c63e7dba9a"), "Subject" : ... 阅读更多

如何在 MongoDB 中从 ObjectId 数组中提取值?

AmitDiwan
更新于 2020年3月31日 08:19:39

620 次浏览

要从 ObjectId 数组中提取值,请在 MongoDB 中使用 `$pull`。让我们创建一个包含文档的集合:-> db.demo258.insertOne({"arrayOfObjectsId":[ ObjectId("5e47a5e81627c0c63e7dba92"), ObjectId("5e47a5e51627c0c63e7dba91")]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47a8211627c0c63e7dba97") } 使用 find() 方法显示集合中的所有文档:-> db.demo258.find(); 这将产生以下输出:-{ "_id" : ObjectId("5e47a8211627c0c63e7dba97"), "arrayOfObjectsId" : [ ObjectId("5e47a5e81627c0c63e7dba92"), ObjectId("5e47a5e51627c0c63e7dba91") ] } 以下是如何从 ObjectId 数组中提取值的查询:-> db.demo258.update( { }, { $pull: { arrayOfObjectsId: { $in: [ ObjectId("5e47a5e81627c0c63e7dba92") ] } } } ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) 显示所有 ... 阅读更多

如何使用 MongoDB 聚合计算特定文档的总和?

AmitDiwan
更新于 2020年3月31日 08:20:32

533 次浏览

要进行求和,请使用 `$sum`;要获取特定文档的总和,需要使用 `$group` 对其进行分组。让我们首先创建一个包含文档的集合:->db.calculateSumOfDocument.insertOne({"ListOfUsers":["Carol", "Bob"], "UsersDetails":[{"FirstUser":"Carol", "TotalLikes":20}, {"FirstUser":"Bob", "TotalLikes":45}]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e084e9125ddae1f53b6220c") } >db.calculateSumOfDocument.insertOne({"ListOfUsers":["Carol", "Bob"], "UsersDetails":[{"FirstUser":"Carol", "TotalLikes":60}, {"FirstUser":"Bob", "TotalLikes":50}]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e084f6125ddae1f53b6220d") } 以下是如何使用 find() 方法显示集合中所有文档的查询:-> db.calculateSumOfDocument.find().pretty(); 这将产生以下输出:-{    "_id" : ObjectId("5e084e9125ddae1f53b6220c"),    "ListOfUsers" : [       "Carol",       "Bob"   ... 阅读更多

在 MongoDB 中设置唯一索引

AmitDiwan
更新于 2020年3月31日 08:17:56

190 次浏览

要在 MongoDB 中设置唯一索引,请使用 `unique:true`。让我们创建一个包含文档的集合:-> db.demo257.ensureIndex({Name:1}, {unique:true}); {    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 } > db.demo257.insertOne({Name:"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47a5e51627c0c63e7dba91") } > db.demo257.insertOne({Name:"Bob"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47a5e81627c0c63e7dba92") } > db.demo257.insertOne({Name:"Chris"}); 2020-02-15T13:33:54.064+0530 E QUERY    [js] WriteError: E11000 duplicate key error collection: test.demo257 index: Name_1 dup key: { : "Chris" } : WriteError({    "index" : 0,    "code" : 11000,    "errmsg" : "E11000 duplicate key error collection: ... 阅读更多

使用固定值字段设置 MongoDB 复合索引

AmitDiwan
更新于 2020年3月31日 08:17:39

138 次浏览

为此,我们将使用 `createIndex()` 的概念并创建索引:-> db.compoundIndexDemo.createIndex({"StudentName":1, "StudentAge":1}, {unique:true}); {    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 } 让我们首先创建一个包含文档的集合:-> db.compoundIndexDemo.insertOne({"StudentName":"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e084c1d25ddae1f53b62207") } > db.compoundIndexDemo.insertOne({"StudentName":"Chris", "StudentAge":23}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e084c5625ddae1f53b62209") } > db.compoundIndexDemo.insertOne({"StudentName":"Chris", "StudentAge":22}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e084c5b25ddae1f53b6220a") } > db.compoundIndexDemo.insertOne({"StudentName":"Chris", "StudentAge":23}); 2019-12-29T12:19:02.225+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: web.compoundIndexDemo index: StudentName_1_StudentAge_1 dup key: { : "Chris", ... 阅读更多

使用变量本身更新 MongoDB 变量值?

AmitDiwan
更新于 2020年3月31日 08:16:30

432 次浏览

不能使用变量本身更新列值。为此,可以使用 `$set`。让我们创建一个包含文档的集合:-> db.demo256.insertOne({"Name":"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47a3e91627c0c63e7dba8b") } > db.demo256.insertOne({"Name":"Bob"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47a3ea1627c0c63e7dba8c") } > db.demo256.insertOne({"Name":"David"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e47a3eb1627c0c63e7dba8d") } 使用 find() 方法显示集合中的所有文档:-> db.demo256.find(); 这将产生以下输出:-{ "_id" : ObjectId("5e47a3e91627c0c63e7dba8b"), "Name" : "Chris" } { "_id" : ObjectId("5e47a3ea1627c0c63e7dba8c"), "Name" : "Bob" } { "_id" : ObjectId("5e47a3eb1627c0c63e7dba8d"), "Name" : "David" } 以下 ... 阅读更多

MongoDB 文档批量插入

AmitDiwan
更新于 2020年3月31日 08:15:14

184 次浏览

对于批量插入,可以在 MongoDB 中使用 `insert()`。让我们创建一个包含文档的集合:-> var manyDocument = db.demo255.initializeUnorderedBulkOp(); > manyDocument.insert( { "Name":"Chris", Age:24} ); > manyDocument.insert( {"Name":"Bob", Age:22 } ); > manyDocument.insert( { "Name":"David", Age:23 } ); > manyDocument.execute(); BulkWriteResult({    "writeErrors" : [ ],    "writeConcernErrors" : [ ],    "nInserted" : 3,    "nUpserted" : 0,    "nMatched" : 0,    "nModified" : 0,    "nRemoved" : 0,    "upserted" : [ ] }) 使用 find() 方法显示集合中的所有文档:-> db.demo255.find(); 这将产生以下输出:-{ "_id" : ... 阅读更多

在 MongoDB 聚合期间分割字符串

AmitDiwan
更新于 2020年3月31日 08:15:14

334 次浏览

为此,请使用 `mapReduce()`。让我们首先创建一个包含文档的集合:-> db.splitString.insertOne({"StudentName":"John Smith"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e0849d925ddae1f53b62206") } 以下是如何使用 find() 方法显示集合中所有文档的查询:-> db.splitString.find().pretty(); 这将产生以下输出:-{    "_id" : ObjectId("5e0849d925ddae1f53b62206"),    "StudentName" : "John Smith" } 以下是分割字符串的查询:-> db.splitString.mapReduce( ...    function() { ...       var StudentLastName = this.StudentName.split(/\s/).reverse()[0].toUpperCase(); ... ...       emit({ "StudentLastName": StudentLastName, "FirstObjectId": this._id }, this); ...    }, ...    function(){}, ...   ... 阅读更多

MongoDB 查询:如何将简单字段更改为对象?

AmitDiwan
更新于 2020年3月31日 08:12:51

192 次浏览

为此,您可以使用 $rename。让我们首先创建一个包含文档的集合 -> db.changeSimpleFieldDemo.insertOne({"StudentMarks":58, "StudentSubject":"MySQL"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e0847a825ddae1f53b62205") }以下是使用 find() 方法显示集合中所有文档的查询 -> db.changeSimpleFieldDemo.find();这将产生以下输出 -{ "_id" : ObjectId("5e0847a825ddae1f53b62205"), "StudentMarks" : 58, "StudentSubject" : "MySQL" }以下是将字段更改为对象的查询。“obj”字段是我们下面使用的临时字段名 -> db.changeSimpleFieldDemo.update({}, {$rename: {Student: 'obj'}}, {multi: true}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 ... 阅读更多

广告