一、安装与配置

1、下载安装

#1、安装路径为D:\MongoDB,将D:\MongoDB\bin目录加入环境变量

#2、新建目录与文件
D:\MongoDB\data\db
D:\MongoDB\log\mongod.log

#3、新建配置文件mongod.cfg,参考:https://docs.mongodb.com/manual/reference/configuration-options/
systemLog:
   destination: file
   path: "D:\MongoDB\log\mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true
   dbPath: "D:\MongoDB\data\db"
net:
   bindIp: 0.0.0.0
   port: 27017
setParameter:
   enableLocalhostAuthBypass: false
    
#4、制作系统服务
mongod --config "D:\MongoDB\mongod.cfg" --bind_ip 0.0.0.0 --install
#或者
mongod --bind_ip 0.0.0.0 --port 27017 --logpath D:\MongoDB\log\mongod.log --logappend --dbpath D:\MongoDB\data\db  --serviceName "MongoDB" --serviceDisplayName "MongoDB"  --install

#5、启动\关闭
net start MongoDB
net stop MongoDB

#6、登录
mongo

#链接:http://www.runoob.com/mongodb/mongodb-window-install.html

 2、账号管理

#账号管理:https://docs.mongodb.com/master/tutorial/enable-authentication/
#1、创建账号
#创建超级用户
use admin
db.createUser(
  {
    user: "root",
    pwd: "123",
    roles: [ { role: "root", db: "admin" } ]
  }
)
#创建普通用户
use test
db.createUser(
  {
    user: "egon",
    pwd: "123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "db1" } ]
  }
)

#2、重启数据库
mongod --remove
mongod --config "C:\mongodb\mongod.cfg" --bind_ip 0.0.0.0 --install --auth
#或者(与制作系统服务对应)
mongod --bind_ip 0.0.0.0 --port 27017 --logpath D:\MongoDB\log\mongod.log --logappend --dbpath D:\MongoDB\data\db  --serviceName "MongoDB" --serviceDisplayName "MongoDB"  --install --auth


#3、登录:注意使用双引号而非单引号 mongo --port 27017 -u "root" -p "123" --authenticationDatabase "admin" #也可以在登录之后用db.auth("账号","密码")登录 mongo use admin db.auth("root","123") #推荐博客:https://www.cnblogs.com/zhoujinyi/p/4610050.html

二、基本操作

1、数据库操作

a、增:

use db1

  如上,db1为创建的数据库的名字,执行上述命令时,如果db1数据库已经存在,则是将切换到此数据库下;如果此数据库不存在,则是创建一个新的数据库,同时也会切换到此数据库下。

b、查:

show dbs                                                             #查看所有存在的数据
db                                                                   #查看当前正在使用的数据库

  注意一点,通过show dbs并不会看到刚才创建的db1数据库,主要是因为数据库中并没有数据,只有数据中有数据的时候才可以看见此数据库。

c、删:

use db1                                                              #第一步:切换到要删除的数据库下
db.dropDatabase()                                                    #第二步:删除当前状态下的数据库

  提示:数据库相关操作的方法,可以通过db.help()方法查看。

2、集合操作

  集合就是一组文档。如果将MongoDB中的一个文档比喻为关系型数据的一行,那么一个集合就是相当于一张表。集合存在于数据库中,通常情况下为了方便管理,不同格式和类型的数据应该插入到不同的集合,但其实集合没有固定的结构,这意味着我们完全可以把不同格式和类型的数据统统插入一个集合中。

a、增:

  当一个文档插入时,集合就被创建,具体如下实例:

python之路_mongodb数据库

b、查:

show tables
#或者
show collections

c、删:

python之路_mongodb数据库

  提示:通过db.集合名.help()可以查看集合操作的相关方法。

3、文档操作

(1)增

  添加一条数据:除了之前实例中我们将要添加的有序字典直接放在insert方法里面,我们还可以按照如下方式,先在全局定义要插入有序字典数据,然后直接将这个变量赋给insert方法,这样的好处是全局数据可以被多次使用。

python之路_mongodb数据库

  添加多条数据:上述的insert方法一次性只能插入一个文档数据,当然也可以一次性插入多个文档,但是需要使用insertMany方法,接收的文档必须是一个列表的形式,具体实例如下:

python之路_mongodb数据库

(2)查

  如下实例介绍了模糊查询的查询方式,查找集合中所有的文档或者第一条文档,其中使用db.users.find().pretty()可以让查询的结果以更清晰的结构显示,这里就不做具体的实例结果展示。

python之路_mongodb数据库

  插入如下多条数据:

use test
user1={
    "_id":1,
    "name":"alex",
    "age":10,
    'hobbies':['music','read','dancing'],
    'addr':{
        'country':'China',
        'city':'weifang'
    }
}

user2={
    "_id":2,
    "name":"wupeiqi",
    "age":20,
    'hobbies':['music','read','run'],
    'addr':{
        'country':'China',
        'city':'hebei'
    }
}


user3={
    "_id":3,
    "name":"yuanhao",
    "age":30,
    'hobbies':['music','drink'],
    'addr':{
        'country':'China',
        'city':'heibei'
    }
}

user4={
    "_id":4,
    "name":"jingliyang",
    "age":40,
    'hobbies':['music','read','dancing','tea'],
    'addr':{
        'country':'China',
        'city':'BJ'
    }
}

user5={
    "_id":5,
    "name":"jinxin",
    "age":50,
    'hobbies':['music','read',],
    'addr':{
        'country':'China',
        'city':'henan'
    }
}
db.user.insertMany([user1,user2,user3,user4,user5])
View Code

相关文章:

  • 2021-12-09
  • 2021-07-27
  • 2022-12-23
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
  • 2021-08-16
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-22
  • 2022-03-07
  • 2022-12-23
  • 2021-11-22
  • 2022-02-10
  • 2022-12-23
相关资源
相似解决方案