资讯专栏INFORMATION COLUMN

mongo学习笔记

zhangyucha0 / 1672人阅读

摘要:学习笔记一安装测试配置下载安装从官网下载对应的压缩包解压即可。

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...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/18885.html

相关文章

  • Mongo索引学习笔记

    摘要:索引使用场景优加快查询速度劣增删改会产生额外的开销占用空间返回集合中一半以上的数据,全表扫描的效率高索引基础基础操作查看索引创建索引已有大量数据时可后台执行不阻塞删除索引查看索引大小属性索引顺序为正序,为逆序在复合索引中需注意顺序索引属 索引使用场景 优:加快查询速度 劣:增删改会产生额外的开销、占用空间 tips: 返回集合中一半以上的数据,全表扫描的效率高 索引基础 基础操作 查看...

    tianhang 评论0 收藏0
  • Mongo索引学习笔记

    摘要:索引使用场景优加快查询速度劣增删改会产生额外的开销占用空间返回集合中一半以上的数据,全表扫描的效率高索引基础基础操作查看索引创建索引已有大量数据时可后台执行不阻塞删除索引查看索引大小属性索引顺序为正序,为逆序在复合索引中需注意顺序索引属 索引使用场景 优:加快查询速度 劣:增删改会产生额外的开销、占用空间 tips: 返回集合中一半以上的数据,全表扫描的效率高 索引基础 基础操作 查看...

    nihao 评论0 收藏0
  • mongodb学习笔记

    摘要:我们常说的分表分库分区等概念都属于分片的实际体现。传统分片做法是手工分表分库。自动分片技术是根据指定的片键自动拆分数据并维护数据请求路由的过程。 1.mongodb特性 1)mongo是一个面向文档的数据库,它集合了nosql和sql数据库两方面的特性。 2)所有实体都是在首次使用时创建。 3)没有严格的事务特性,但是它保证任何一次数据变更都是原子性的。 4)也没有固定的数据模型 5)...

    王晗 评论0 收藏0
  • scrapy学习笔记(二):连续抓取与数据保存

    摘要:运行一下我们的代码,然后刷新下数据库,可看到数据已经保存到中了查看数据库内容很清晰,每一项都有保存 抓取论坛、贴吧这种多分页的信息时,没接触scrapy之前,是前确定有多少页,使用for循环抓取。这方法略显笨重,使用scrapy则可以直接组合下一页的链接,然后传给request持续进行抓取,一直到没有下一页链接为止。 还是以官方教程的网站为例子,先分析下元素: showImg(http...

    ShevaKuilin 评论0 收藏0
  • MongoDB学习笔记(2)- Mongo Shell 中文档的增、删、改

    摘要:学习笔记中文档的增删改本文所使用的版本为一插入文档插入一个文档语法向数据库中的集合中插入一个文档注字段是系统自动生成的,也可以自己指定任何类型的字,但值不能重复。可以通过在执行完每条命令之后执行来检查是否成功 MongoDB学习笔记(2)- Mongo Shell 中文档的增、删、改 本文所使用的MongoDB版本为 4.0.10 > db.version(); 4.0.10 一、插入...

    dunizb 评论0 收藏0

发表评论

0条评论

zhangyucha0

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<