设为首页 收藏本站
查看: 809|回复: 0

[经验分享] mongo基础笔记1

[复制链接]

尚未签到

发表于 2016-12-2 08:12:28 | 显示全部楼层 |阅读模式
  在mongo中并没有表列神马的。有Collection和document,这里的Collection就相当于表,document就相当于一行。
  下载的压缩包,解压到d:/mongo 再mongo下面建立两个文件夹stroe,log(放日志的)
  启动服务:命令行输入:
1)在log里打印
D:\mongo\bin\mongod.exe --dbpath=d:\mongo\store --logpath=d:\mongo\log\mongodb.log
2)在控制台cmd打印
D:\mongo\bin\mongod.exe --dbpath=d:\mongo\store
  
连接数据库,另起个cmd窗口,输入命令:
d:/mongo/bin/mongo
  
以下以"hello"表为例
插入(如果没有表就直接创建):
像hello表中插入一列Hello 初始值为World
db.hello.insert({"Hello":"World"})
  查询:(查询支持正则表达式)
db.hello.find()//查询全部
db.hello.findOne()//查询第一条
  
清空表:
db.hello.remove();//删除所有
db.hello.remove({"Hello":"World"})//删除Hello列为World值的这一行
  更新数据:
db.hello.update({"Hello":"World"},{$set:{"Hello":"ModifyWorld"}})
  增加一列:
像Hello值为ModifyWorld这一行新增加一列num 初始值为0(注意0没有双引号)
db.hello.update({"Hello":"ModifyWorld"},{$set:{"num":0}})
db.hello.update({},{$set:{"num":0}})//所有行都增加一列
db.hello.update({},{$set:{"Hello":"this is final"}},false,true)//第三个参数是,如果不存在,是否新增数据,当然我们是false。第四个是否更新多条记录,true;false的话是默认,代表只更新第一条
  
删除一行中的一列
db.hello.update({"Hello":"ModifyWorld"},{$unset:{"num":0}})
  给某一行加入子表:
db.hello.update({"Hello":"ModifyWorld"},{$push:{"comments":
  {"name":"Bear","email":"test@test.com"}}})
意思就是一行{"Hello":"ModifyWorld"}中加入多个comments
查询子表:
db.hello.find({"comments":null})//查询子表为null的数据
  操作符:
1)
(小于:lt,小于等于:lte,大于:gt,大于等于:gte,不等于:ne,包含:in,等于就直接:)
db.hello.find({"num":{"$lt":100,"$gt":0}}) //查询num小于100的 大于0的
db.hello.find({"num":{"$lt":100,"$in":[0,10,100]}})//查询小于100并且是0或者10或者100的
2)
取模
  db.hello.find({"num":{$mod:[5,0]}})//查询num对5取模余数为0的
db.hello.find({"num":{$not:{$mod:[5,0]}}})//查询num对5取模余数不为0的
  
按条数查询子表:
db.hello.find({},"comments":{"$slice":10})//查询子表的前十条
db.hello.find({},"comments":{"$slice":-10})//查询子表后十条
db.hello.find({},"comments":{"$slice":[20,10]})//查询从第21条数据向后查10条
  
db.hello.find().limit(1)//只取一条 limit(n)是只拿n条
db.hello.find().skip(1)//跳过1条 skip(n)跳过n条
  
db.hello.find().sort({"num":1})//num列升序排序
db.hello.find().sort({"num":-1})//num列降序排序

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-308380-1-1.html 上篇帖子: node-mongo-native1.3.19连接mongo的最优方法 下篇帖子: spring data for mongo
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表