mac 安装配置使用 mongoldb

时间:2022-08-24 20:51:30

mac 安装配置使用 mongoldb

安装和配置

brew install mongos
brew install mongo # 密码就是用户的密码
# 配置数据文件 //如果不配置会出现错误62
sudo rm -rf /data/db
sudo mkdir data/db
sudo chown your_user_name /data/db # 启动服务端
sudo mongod
# 建议
sudo mongod & # 启动客户端
sudo mongo

进入mongo之后

  • 显示有什么数据库

    > show dbs
    admin 0.000GB
    config 0.000GB
    local 0.000GB
  • 创建/使用一个数据库 use的作用:数据库存在就使用,没有就创建

    > use test2019
    switched to db test2019
    > db
    test2019
  • 创建数据表

    > db.createCollection("department")
    { "ok" : 1 }
  • 插入数据

    > db.department.insert({'name': 'Research and Development Department'})
    WriteResult({ "nInserted" : 1 })
    > db.department.insert({'name': 'Hr'})
    WriteResult({ "nInserted" : 1 })
    > db.department.insert({'name': 'Market'})
    WriteResult({ "nInserted" : 1 })
    > db.department.insert({'name': 'Accounting'})
    WriteResult({ "nInserted" : 1 })
    > db.department.insert({'name': 'Test', 'employee': 10 })
    WriteResult({ "nInserted" : 1 })
  • 查找数据

    > db.department.find()
    { "_id" : ObjectId("5c358f9e5f9d20c5d1020089"), "name" : "Research and Development Department" }
    { "_id" : ObjectId("5c358fa75f9d20c5d102008a"), "name" : "Hr" }
    { "_id" : ObjectId("5c358fae5f9d20c5d102008b"), "name" : "Market" }
    { "_id" : ObjectId("5c358fc85f9d20c5d102008c"), "name" : "Accounting" }
    { "_id" : ObjectId("5c3591e25f9d20c5d102008d"), "name" : "Test", "employee" : 10 }
  • 条件查询

    # 这种逗号隔开 表示 与
    db.collection.find({'key1': condition1, 'key2': condition2})

    # $in 和 $or 比较接近mysql里的 或
    > db.department.find({'name': 'Hr' })
    { "_id" : ObjectId("5c358fa75f9d20c5d102008a"), "name" : "Hr" }
    # in
    > db.department.find({'name':{"$in":['Accounting', 'Hr']}})
    { "_id" : ObjectId("5c358fa75f9d20c5d102008a"), "name" : "Hr" }
    { "_id" : ObjectId("5c358fc85f9d20c5d102008c"), "name" : "Accounting" }
    # or
    # pretty的作用是自动换行
    > db.department.find({'$or': [{'name': 'Hr'}, {'employee':10}]}).pretty()
    { "_id" : ObjectId("5c358fa75f9d20c5d102008a"), "name" : "Hr" }
    {
    "_id" : ObjectId("5c3591e25f9d20c5d102008d"),
    "name" : "Test",
    "employee" : 10
    }

    大于小于

    # 在mysql里用between..and..或者 >、>=、<、<=来查询指定的范围,
    # 但是mongodb有自己的语法。用 "$gt" 、"$gte"、 "$lt"、 "$lte"
    # 分别对应">"、 ">=" 、"<" 、"<=",组合起来可以进行范围的查找。
    > db.department.find({'employee': {'$gte' : 5}})
    { "_id" : ObjectId("5c3591e25f9d20c5d102008d"), "name" : "Test", "employee" : 10 }