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 }