mongo学习笔记
一 安装测试配置
1 下载安装
从mongodb官网下载对应的压缩包,解压即可。
copy命令到/usr/local/bin目录 (cp mongod /usr/local/bin;cp mongo /usr/local/bin)
2 创建配置文件
参考官方文档https://docs.mongodb.com/manual/reference/configuration-options/#configuration-file
常用配置:
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
storage:
dbPath: "/var/mongoData"
journal:
enabled: true
processManagement:
fork: true
net:
bindIp: 127.0.0.1
port: 27017
setParameter:
enableLocalhostAuthBypass: false
3 启动服务
mongod --config=/etc/mongodb/mongodb.conf
4 打开客户端
mongo
5 关闭mongo
use admin
db.shutdownServer()
二 CURD的操作
show dbs 显示所有数据库
use user 使用user数据库(不存在就会自动创建,插入一些值后才会显示)
db 查看当前使用的数据库
show collections 显示该库下所有集合
db.userinfo.insert({"a":1,"b":1,"fr":[1,2,3,4]}) 在user数据库userinfo集合中插入数据
db.dropDatabase() 删除数据库
db.userinfo.remove({}) 清空集合
db.userinfo.drop() 删除集合
SELECT a,b FROM users <==> db.users.find({}, {"a" : 1, "b" : 1});
SELECT * FROM users WHERE age=33 <==> db.users.find({"age" : 33});
SELECT a,b FROM users WHERE age=33 <==> db.users.find({"age" : 33}, {"a" : 1, "b" : 1});
SELECT a,b FROM users WHERE age=33 ORDER BY name <==> db.users.find({"age" : 33}, {"a" : 1, "b" : 1}).sort({"name" : 1});
SELECT * FROM users WHERE age>33 <==> db.users.find({"age" : {'$gt' : 33}});
SELECT * FROM users WHERE age<33 <==> db.users.find({"age" : {'$lt' : 33}});
SELECT * FROM users WHERE name LIKE "%Joe%" <==> db.users.find({"name" : /Joe/});
SELECT * FROM users WHERE name LIKE "Joe%" <==> db.users.find({"name" : /^Joe/});
SELECT * FROM users WHERE age>33 AND age<=40 <==> db.users.find({"age" : {'$gt' : 33,'$lte' : 40}});
SELECT * FROM users ORDER BY name DESC <==> db.users.find().sort({"name" : -1});
CREATE INDEX myindexname ON users(name) <==> db.users.ensureIndex({"name" : 1});
CREATE INDEX myindexname ON users(name,ts DESC) <==> db.users.ensureIndex({"name" : 1, "ts" : -1});
SELECT * FROM users WHERE a=1 and b='q' <==> db.users.find({"a" : 1, "b" : "q"});
SELECT * FROM users LIMIT 10 SKIP 20 <==> db.users.find().limit(10).skip(20);
SELECT * FROM users WHERE a=1 or b=2 <==> db.users.find({'$or' : {"a" : 1, "b" : 2}});
SELECT * FROM users LIMIT 1 <==> db.users.find().limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 <==> db.users.find({"z" : 3}).explain()
SELECT DISTINCT last_name FROM users db.runCommand({"distinct" : "users", "key" : "last_name"});
SELECT COUNT(*y) FROM users <==> db.users.count();
SELECT COUNT(*y) FROM users where AGE > 30 <==> db.users.find({"age" : {'$gt' : 30}}).count();
SELECT COUNT(AGE) from users <==> db.users.find({"age" : {'$exists' : true}}).count();
UPDATE users SET a=1 WHERE b='q' <==> db.users.update({"b" : "q"}, {'$set' : {"a" : 1}});
UPDATE users SET a=a+2 WHERE b='q' <==> db.users.update({"b" : "q"}, {'$inc' : {"a" : 2}});
DELETE FROM users WHERE z="abc" <==> db.users.remove({"z" : "abc"});
php 操作mongo记录,请参考
http://blog.csdn.net/qq135554...
https://my.oschina.net/u/8121...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。