mongodb 的使用

centos 7 下源代码安装


访问网站选择下载资源

这里写图片描述
我选择的是linux版本的,复制源代码;
linux环境下:

1. wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.5.tgz
2. gunzip <filename>
    解压缩
3. tar -xvf <filename>
    解归档
4. mv <source> /usr/local/<source> 
        移动安装包到/usr/local/下     souce 是解压后的安装包
5. vim .bash_profile   
    这是配置环境变量的文件
6. PATH=...:/usr/local/<source>/bin
     配置环境变量, 在PATH后面 无论写什么直接 : 后面写上绝对路径的安
     装包下的bin目录  因为bin有执行文件, mongod 是启动服务器的 
     mongo 是启动交互式环境的, 配置环境变量之后,在主目录下输入
     mongod 或者 mongo时系统就会自动去PATH中执行bin目录下的mongod
     或者 mongo
7. source .bash_profile 
    使配置生效
    在主目录下 输入命令 echo $PATH 查看环境变量
    配多少个环境变量就在 PATH 后面 :加上要在主目录下要直接启动的bin
    下的执行文件
8. mkdir -p /data/db   这个文件夹一定要建的
9. mongod  启动mongodb服务器  不过这样ctrl+c退出时服务器也就退出了
    要想一直启动 后面加上 &  这样就在后台启动了
    服务器默认启动端口27017
    要想让别人也可以连接,需要在阿里云开个端口 27017
    然后启动服务器时 指定绑定的地址 :
    mongod --bind_ip  172.18.17.128 --quiet &
    我这里绑定的是阿里云的私网地址,因为这样别人才可以连接 
    jobs 查看所有后台进程
    fg %1 进程前面编号 把后台置于前台
10. 启动 mongodb交互式环境
        mongo --host 112.74.171.100 连接mongo服务器
        如果启动服务器时 直接mongod & 自己给自己玩的话, 那么启动
        交互式环境时 直接mongo 就可以了
11. 进入交互式环境时,查看是否连接成功
        输入db  回应test 表示连接成功

执行完上面的步骤, mongodb安装完成,可以使用了

可以在windows上下载一个图形界面 Robo 3T软件,直接百度即可, 对阿里来说这就是外网
此刻 就是 上面开端口和绑服务器地址的作用了,该软件的作用可以查看往mongodb 数据库中存入的数据


几个操作命令:

use zhihu  创建数据库
db    查看数据库

db.student.find()  查找student数据库中的所有记录
db.student.insert({'name':'tao','age':25})  向数据库中插入数据
db.student.find({'age':28})
db.student.find({'age': {'$gt': 15, '$lt': 25})  查找大于25 小于15的
db.student.update({'_id': 1102, 'gender': 'male'})
更新数据,如果有就更新, 没有的话把原来同行的记录全都抹掉换成更新的内容
db.student.update({'_id': 1102}, {'$set': {'gender': 'male'}})
更新数据 有就更新, 没有在其后面加入,如果条件不存在 新建一条记录
前面的括号中是筛选条件  键值对可以写多个的
因为每次筛选的条件和插入的内容都可以为多个

db.student.update({'_id': 1102}, {'$set': {'name': 'Wang', 'age': 18, 'gender': 'male'}})

还有删除等,自己查资料吧

下面是在python中使用 mongodb命令:

import pymongo


def main():
    # client = pymongo.MongoClient('mongodb://112.74.171.100:27017')
    client = pymongo.MongoClient(host='112.74.171.100', port=27017)
    # 使用mongodb数据库
    db = client.zhihu
    # 使用mongodb集合
    pages_cache = db.webpages
    # 往集合中插入文档,一条记录一个文档
    # pages_cache.insert_one({'_id': 1,'name':'shan','age':28})
    # pages_cache.insert_many([
    #     {'_id':2,'name':'lee','age':25},
    #     {'_id':3,'name':'yang','age':35},
    #     {'_id':4, 'name':'mayun','age':40},
    #
    # ])
    # 删除记录
    # pages_cache.remove({'_id':4})

    # 更新记录 把id=3的文档中的名字改成刘亦菲,年龄改成29 如果有属性就更该属性,如果没有属性,就在后面就如新加的属性
    # pages_cache.update({'_id': 3}, {'$set': {'name': '刘亦菲', 'age': 29}})
    pages_cache.update({'_id':2},{'$set': {'movie': '仙剑奇侠传'}})
    # 更新记录 把id=2的文档 名字改成唐嫣, 年龄改成27 如果有属性就修改属性,如果没有就用新加的属性覆盖了原来的属性
    # pages_cache.update({'_id': 2}, {'name': '唐嫣', 'age': 27})
    # 当修改的内容存在时更新数据, 不存在时,把其他的键值对全都抹了,替代为sex:male
    # pages_cache.update({'_id': 1},{'sex': 'male'}, upsert=True)
    # 当筛选条件 _id = 4 不在该文档时, 插入新内容   upsert 意思就是 更新 或者插入
    # pages_cache.update({'_id': 4}, {'sex': 'male'}, upsert=True)
    # 排序 下面的得到的是一个对象
    # sort_id = pages_cache.find().sort('_id')
    # for doc in sort_id:
    #     print(doc)
    # 查看有多少条文档
    # count_pages = pages_cache.find().count()
    # print(sort_id)
    # print(count_pages)
    # print(client)
    #
    # docs = pages_cache.find()
    # for doc in docs:
    #     print(doc)
    # 字典里面套字典
    # pages_cache.insert_one({
    #     '_id': 5,
    #     'name':{
    #         'yang':'mi',
    #         'yang':'ying',
    #         'deng': 'chao'
    #         }
    #
    #
    # })


    if __name__ == '__main__':
        main()

猜你喜欢

转载自blog.csdn.net/hello_syt_2018/article/details/80527825