4 mongo的基本使用
mongo的基本使用¶
- 查看数据库 show dbs
- 使用数据库 use [dbname]
- 查看表 show collections
- 创建数据库(必须插入数据才可以创建成功)
use firstmon
db.firstmon.insert({"name":"zdk"})
-
删除数据库 use firstmon db.dropDatabase()
-
创建集合(表) use firstmon db.createCollection("runoob")
有时候只需要插入数据集合就自己创建了 db.mycol2.insert({"name" : “kkk"}) - 查看集合 show collections - 删除集合 use firstmon db.mycol2.drop()
- 插入文档
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,在插入文档时候可以加入一些参数
- document:要写入的文档。
- writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。
- ordered:指定是否按顺序写入,默认 true,按顺序写入。
save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替。
insert(): 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。
db.runoob.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 10},{"writeConcern":0})
- 删除命令
语法如下
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。
> db.runoob.find({"url" : "http://www.runoob.com"}) { "_id" : ObjectId("5ebfe125cda48d4fd0a77ae4"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5ebfe14fcda48d4fd0a77ae5"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 10 } > > db.runoob.remove({"url" : "http://www.runoob.com"},{"justOne":1}) WriteResult({ "nRemoved" : 1 }) > > db.runoob.find({"url" : "http://www.runoob.com"}) { "_id" : ObjectId("5ebfe14fcda48d4fd0a77ae5"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 10 } >
db.runoob.find()
find可以跟or and 等参数这里不在讲解
- limit与skip
limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
db.runoob.find().limit(5).skip(3)
- 创建索引操作
1 查看索引 db.col.getIndexes() 2、查看集合索引大小 db.col.totalIndexSize() 3、删除集合所有索引 db.col.dropIndexes() 4、删除集合指定索引 db.col.dropIndex("索引名称")