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

MongoDB 如何查询除特定文档外的所有文档?

AmitDiwan
更新于 2020-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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-03-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 ... 阅读更多

广告