mongo简单操作
Posted hjqq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongo简单操作相关的知识,希望对你有一定的参考价值。
以下内容均来自https://www.runoob.com/mongodb/mongodb-tutorial.html
创建数据库
use DATABASE_NAME //实例 > use runoob switched to db runoob > db runoob >
删除数据库
db.dropDatabase() // > use runoob switched to db runoob > > db.dropDatabase() { "dropped" : "runoob", "ok" : 1 }
创建集合
//1直接创建 > use test switched to db test > db.createCollection("runoob") { "ok" : 1 } > > db.createCollection("mycol", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } ) { "ok" : 1 } > //2直接插入文档 db.mycol2.insert({"name" : "菜鸟教程"})
删除集合
db.collection.drop() //实例 >use mydb switched to db mydb >show collections mycol mycol2 system.indexes runoob > >db.mycol2.drop() true >
插入文档
db.COLLECTION_NAME.insert(document) >db.col.insert({title: ‘MongoDB 教程‘, description: ‘MongoDB 是一个 Nosql 数据库‘, by: ‘菜鸟教程‘, url: ‘http://www.runoob.com‘, tags: [‘mongodb‘, ‘database‘, ‘NoSQL‘], likes: 100 }) // > db.col.find() { "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } > //我们也可以将数据定义为一个变量,如下所示: > document=({title: ‘MongoDB 教程‘, description: ‘MongoDB 是一个 Nosql 数据库‘, by: ‘菜鸟教程‘, url: ‘http://www.runoob.com‘, tags: [‘mongodb‘, ‘database‘, ‘NoSQL‘], likes: 100 }); //执行后显示结果如下: { "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } 3.2 版本后还有以下几种语法可用于插入文档: db.collection.insertOne():向指定集合中插入一条文档数据 db.collection.insertMany():向指定集合中插入多条文档数据 # 插入单条数据 > var document = db.collection.insertOne({"a": 3}) > document { "acknowledged" : true, "insertedId" : ObjectId("571a218011a82a1d94c02333") } # 插入多条数据 > var res = db.collection.insertMany([{"b": 3}, {‘c‘: 4}]) > res { "acknowledged" : true, "insertedIds" : [ ObjectId("571a22a911a82a1d94c02337"), ObjectId("571a22a911a82a1d94c02338") ] } 一次插入多条数据 1、先创建数组 2、将数据放在数组中 3、一次 insert 到集合中 var arr = []; for(var i=1 ; i<=20000 ; i++){ arr.push({num:i}); } db.numbers.insert(arr);
更新文档
在3.2版本开始,MongoDB提供以下更新集合文档的方法: db.collection.updateOne() 向指定集合更新单个文档 db.collection.updateMany() 向指定集合更新多个文档 首先我们在test集合里插入测试数据 use test db.test_collection.insert( [ {"name":"abc","age":"25","status":"zxc"}, {"name":"dec","age":"19","status":"qwe"}, {"name":"asd","age":"30","status":"nmn"}, ] ) 更新单个文档 > db.test_collection.updateOne({"name":"abc"},{$set:{"age":"28"}}) { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 } > db.test_collection.find() { "_id" : ObjectId("59c8ba673b92ae498a5716af"), "name" : "abc", "age" : "28", "status" : "zxc" } { "_id" : ObjectId("59c8ba673b92ae498a5716b0"), "name" : "dec", "age" : "19", "status" : "qwe" } { "_id" : ObjectId("59c8ba673b92ae498a5716b1"), "name" : "asd", "age" : "30", "status" : "nmn" } > 更新多个文档 > db.test_collection.updateMany({"age":{$gt:"10"}},{$set:{"status":"xyz"}}) { "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 } > db.test_collection.find() { "_id" : ObjectId("59c8ba673b92ae498a5716af"), "name" : "abc", "age" : "28", "status" : "xyz" } { "_id" : ObjectId("59c8ba673b92ae498a5716b0"), "name" : "dec", "age" : "19", "status" : "xyz" } { "_id" : ObjectId("59c8ba673b92ae498a5716b1"), "name" : "asd", "age" : "30", "status" : "xyz" } >
删除文档
remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。 如删除集合下全部文档: db.inventory.deleteMany({}) 删除 status 等于 A 的全部文档: db.inventory.deleteMany({ status : "A" }) 删除 status 等于 D 的一个文档: db.inventory.deleteOne( { status: "D" } )
查询文档
db.collection.find(query, projection) 如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下: >db.col.find().pretty() 以下实例我们查询了集合 col 中的数据: > db.col.find().pretty()
用以查询关键字。
^表示以mongo开头的,/mongo$/则是以mongo结尾的,都不加的话包含的都会查询出来。
指定列的查询
{name:1,age:1}表示只显示name和age的列。
排序
以上是关于mongo简单操作的主要内容,如果未能解决你的问题,请参考以下文章