MongoDb基础使用

本文详细介绍了MongoDB的登录退出、数据库操作、集合管理和索引操作。包括如何创建、查看和删除数据库,新建、重命名及删除集合,以及索引的建立、查看和删除。同时展示了数据的插入、查询和更新操作,强调了MongoDB对大小写的敏感性和索引管理的重要性。
摘要由CSDN通过智能技术生成

1、登录和退出

登录登录可以直接使用mongo连接数据库、退出可以直接使用exit。

2、DataBase操作

2.1 查看服务器上的数据库
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> 

2.2 创建数据库
使用use DataBaseName
> use test2
switched to db test2
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> 
可以看到此时并没有看到新建立的test2数据库,是因为mongodb在只使用了use命令后,不会直接创建数据库,而是直到你插入数据之后。
> use test2
switched to db test2
> db.test.insert({"name":"hello word"})
WriteResult({ "nInserted" : 1 })
此命令为在test2数据库中创建test集合并插入一条数据
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
test2   0.000GB
此时就可以看到test2数据库了
2.3 查看所有集合
> show collections
test
> 
2.4 查看当前数据库
>db
tset2
2.5 删除数据库
> db.dropDatabase()
{ "dropped" : "test2", "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> 
> db
test2
删除test2库之后查看当前数据库还存在,一直到use其他数据库才会消失。
> 

3、collection操作

3.1 新建collection
> db.createCollection("hello")
{ "ok" : 1 }
> > db.hello2.insert({"name":"zhangsan"})
WriteResult({ "nInserted" : 1 })
> show collections
hello
hello2
> 
可以看出直接在不存在的集合中插入数据也是可以创建集合
> 3.2 重命名集合
> show collections
hello
hello2
> db.hello2.renameCollection("HELLO")
{ "ok" : 1 }
> show collections
HELLO
hello
>
可以看出mongodb区分大小写,而mysql是不区分大小写的。
>3.3 查看当前数据库中的所有collection
>show collections
>

4、索引操作

4.1 在HELLO集合上,建立对ID字段的索引,1代表升序。
> db.HELLO.ensureIndex({ID:1})
{
	"createdCollectionAutomatically" : false,
	"numIndexesBefore" : 1,
	"numIndexesAfter" : 2,
	"ok" : 1
}
> 

4.2 在HELLO集合上,建立对ID字段、Name字段和Gender字段建立索引
> db.HELLO.ensureIndex({ID:1,Name:1,Gender:-1})
{
	"createdCollectionAutomatically" : false,
	"numIndexesBefore" : 2,
	"numIndexesAfter" : 3,
	"ok" : 1
}

4.3 查看HELLO集合上的所有索引
> db.HELLO.getIndexes()
[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_"
	},
	{
		"v" : 2,
		"key" : {
			"ID" : 1
		},
		"name" : "ID_1"
	},
	{
		"v" : 2,
		"key" : {
			"ID" : 1,
			"Name" : 1,
			"Gender" : -1
		},
		"name" : "ID_1_Name_1_Gender_-1"
	}
]

4.4 删除索引用db.collection.dropIndex(),有一个参数,可以是建立索引时指定的字段,也可以是getIndex看到的索引名称。
> db.HELLO.dropIndex( "IDIdx" )
{
	"ok" : 0,
	"errmsg" : "index not found with name [IDIdx]",
	"code" : 27,
	"codeName" : "IndexNotFound"
}

> db.HELLO.dropIndex({ID:1})
{ "nIndexesWas" : 3, "ok" : 1 }
> 
4.5 添加数据
> db.HELLO.insert({"name":"baoyu","gender":"male"})
WriteResult({ "nInserted" : 1 })
4.6 查看集合中的数据
> db.HELLO.find()
{ "_id" : ObjectId("6063e0d3965131ea35eae193"), "name" : "zhangsan", "age" : "21" }
{ "_id" : ObjectId("6063e5b659dbfe121b7abc5e"), "name" : "baoyu", "gender" : "male" }
4.7 查询年龄为21的数据
> db.HELLO.find({"age":"21"})
{ "_id" : ObjectId("6063e0d3965131ea35eae193"), "name" : "zhangsan", "age" : "21" }
> 
4.8 添加字段
db.HELLO.update({},{$set:{"sex":"21"}},true,true)
WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })
> db.HELLO.find()
{ "_id" : ObjectId("6063e0d3965131ea35eae193"), "name" : "zhangsan", "age" : "21", "sex" : "21" }
{ "_id" : ObjectId("6063e5b659dbfe121b7abc5e"), "name" : "baoyu", "gender" : "male", "sex" : "21" }
{ "_id" : ObjectId("6063e75059dbfe121b7abc5f"), "name" : "jiaming", "gender" : "male", "sex" : "21" }
> 
db.collection.update(criteria, objNew, upsert, multi )
criteria:update的查询条件,类似sql update查询内where后面的
objNew:update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的。
upsert : 如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值