找到 1660 篇文章 关于大数据分析
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" : ... 阅读更多
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" ... 阅读更多
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 })显示所有 ... 阅读更多
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" ... 阅读更多
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: ... 阅读更多
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", ... 阅读更多
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" }以下 ... 阅读更多
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" : ... 阅读更多
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(){}, ... ... 阅读更多
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 ... 阅读更多