我是靠谱客的博主 碧蓝太阳,这篇文章主要介绍windows下MongoDb的配置和操作,现在分享给大家,希望可以做个参考。

一、配置

1、目录结构

复制代码
1
2
3
4
5
6
7
8
9
10
mongodb │  ├─bin │  │  └─mongodb的安装文件 │  ├─conf │  │  └─mongod.conf │  ├─data │  │  └─db │  ├─logs │  │  └─mongod.log │  └─...

2、配置文件:mongod.conf

复制代码
1
2
3
4
5
6
7
8
9
systemLog:     destination: file     path: E:servermongodblogsmongod.log storage:     dbPath: E:servermongodbdatadb net:     port: 27017 security:     authorization: enabled

二、操作

1、安装服务

复制代码
1
mongod.exe --config "E:servermongodbconfmongod.conf" --install

2、启动服务

复制代码
1
net start MongoDB

3、停止服务

复制代码
1
net stop MongoDB

4、移除服务

复制代码
1
mongod.exe --remove

5、进入mongodb后台

复制代码
1
mongo

6、查看所有库

复制代码
1
show dbs

7、查看当前库

复制代码
1
db

8、添加root账号

复制代码
1
2
3
4
5
6
7
8
use admin db.createUser(     {       user: "root",       pwd: "xxx",       roles: [{role:"root", db:"admin"}]     }  )

9、创建数据库

复制代码
1
use blog  #不存在则自动创建

10、删除数据库

复制代码
1
db.dropDatabase()

11、添加用户账号

复制代码
1
2
3
4
5
6
7
8
use blog db.createUser(     {       user: "test",       pwd: "xxx",       roles: [{role:"dbOwner", db:"blog"}]     }  )

12、查看集合

复制代码
1
2
3
use blog db.auth("test","xxx"); show collections

13、创建集合

复制代码
1
2
3
use blog db.auth("test","xxx") db.createCollection("article")

14、删除集合

复制代码
1
2
3
use blog db.auth("test","xxx") db.article.drop()

15、插入文档

复制代码
1
2
3
4
5
6
7
use blog db.auth("test","xxx") db.article.insert({     id: 1,     title: "文章标题",     author: "文章作者" })

#其它插入方法

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
db.article.insert([{     id: 2,     title: "文章标题1",     author: "文章作者" },{     id: 3,     title: "文章标题2",     author: "文章作者" }],{     writeConcern: 1,     ordered: true })
复制代码
1
2
3
4
5
6
7
db.article.insertOne({     id: 4,     'title': "文章标题",     author: "文章作者" },{     writeConcern: 1 })
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
db.article.insertMany([{     id: 5,     'title': "文章标题1",     author: "文章作者" },{     id: 6,     'title': "文章标题2",     author: "文章作者" }],{     writeConcern: 1,     ordered: true })

16、查询文档

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use blog db.auth("test","xxx") db.article.find().pretty() #查询所有 db.article.find({"title":"文章标题"}).pretty() #条件查询:等于 db.article.find({"id":{$lt:5}}).pretty() #条件查询:小于 db.article.find({"id":{$lte:5}}).pretty() #条件查询:小于或等于 db.article.find({"id":{$gt:5}}).pretty() #条件查询:大于 db.article.find({"id":{$gte:5}}).pretty() #条件查询:大于或等于 db.article.find({"id":{$ne:5}}).pretty() #条件查询:不等于 db.article.find({"id":{$in:[1,3,5]}}).pretty() #条件查询:包含 db.article.find({"id":{$nin:[1,3,5]}}).pretty() #条件查询:不包含 db.article.find({"id":{$type:2}}).pretty() #条件查询:数据类型,2或“string”代表字符串 db.article.find({key1:value1, key2:value2}).pretty() #多条件查询 db.article.find({"id":{$gt:3}, $or:[{key1:value1},{key2:value2}]}).pretty() #多条件查询 and+or db.article.find().sort({"id":1}).skip(2).limit(2) #分布查询,sort->skip->limit顺序不可乱,1表示升序,-1表示降序

17、更新文档

复制代码
1
2
3
4
5
use blog db.auth("test","xxx") db.article.update({query},{"title":"article title"}) #更新整个文档 db.article.update({query},{$set:{"article title"}}) #仅更新title db.article.save({"_id" : ObjectId("61d82cc9245a5025d7e59151"),"title":"测试标题"}) #_id存在则更新,不存在则创建

18、删除文档

复制代码
1
2
3
4
use blog db.auth("test","xxx") db.article.remove({query}) #按查询条件删除 db.article.remove() #删除所有

#其它删除方法

复制代码
1
2
3
db.article.deleteOne({query}) #删除单个文档 db.article.deleteMany({query}) #删除多个文档 db.article.deleteMany({}) #删除所有文档

19、查看索引

复制代码
1
2
3
4
use blog db.auth("test","xxx") db.article.getIndexes() #全部索引 db.article.totalIndexSize() #索引大小

20、创建索引

* 集合中索引不能超过64个
* 索引名的长度不能超过128个字符
* 一个复合索引最多可以有31个字段

复制代码
1
2
3
4
5
use blog db.auth("test","xxx") db.article.createIndex({"title":1},{unique:true}) #单个索引,1表示升序,-1表示降序,unique为索引类型 db.article.createIndex({"title":1,"author":-1}) #多个索引 db.article.createIndex({"addtime":-1},{expireAfterSeconds:120}) #expireAfterSeconds为集合生存时间,当字段为日期类型时可规定数据创建后多久后自动清除

21、删除索引

复制代码
1
2
3
4
use blog db.auth("test","xxx") db.article.dropIndex("title_1") #删除单个索引,title_1为索引名称 db.article.dropIndexes() #删除全部索引

22、聚合

复制代码
1
2
3
use blog db.auth("test","xxx") db.article.aggregate({$project:{文档结构,_id:0为排除_id字段},$match:{过滤数据},$unwind:{拆分字段},$group:{数据分组}})

23、创建副本,将数据同步在多个服务器

复制代码
1
2
mongod --port 27017 --dbpath "E:othermongodbdata" --replSet rs0 rs.add("mongod1.net:27017") #添加副本成员

最后

以上就是碧蓝太阳最近收集整理的关于windows下MongoDb的配置和操作的全部内容,更多相关windows下MongoDb内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部