MongoDB常用命令查询基础类
来源:互联网 发布:程序员网 编辑:程序博客网 时间:2024/05/17 04:26
1.windows 启动:
F:\DingSai\Mongodb\bin
--windows启动 cmd到bin目录下mongod --dbpath F:\DingSai\Mongodb\data --logpath=F:\DingSai\Mongodb\logs\mongodb.log --logappend
查看本机http://localhost:27017/
linux启动:
启动配置mongodb 1.
去mongodb/bin目录下执行
./mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/logs --fork
2.登录mongodb
bin下执行
./mongo
3.ObjectId存储格式
{ "_id" : ObjectId("54c6f191e20483f272ff1e88"), "name" : "user1" }
两个key 对象id name user1
ObjectId:24位字符串,由一组十六进制的字符构成,每个字节两位的十六进制数组,总共用了12字节的存储空间。
前四个字节0-3表示时间;再三个字节4-6表示机器码;7-8再两个字节表示进程ID;最后三个字节9-11表示自增长计数器保证同一秒不会产生重复数据允许256的3次方等于16777216条记录的唯一性;
ObjectID详解:http://blog.csdn.net/dingsai88/article/details/43191423
4.key values值的种类:
1. Null:表示空值或者不存在的字段:{“one”:null}
2. 布尔类型:{“one”:true}
3. 32位整数:mongoDB控制台使用js引擎输入,js仅支持64位浮点数,所以被自动转义.
4. 64位整数:被自动转义成64位浮点数。
5. 64位浮点数:{“one”:2.02}
6. 字符串:{“one”:”hello”}
7. 符号:控制台不支持将自动转义成字符串
8. ObjectId类型:12位ID:ObjectID(“ddddadfadfadfdadfdadfdadf”)
9. 日期:{“one”:new Date()}
10. 正则:{“one”:/ho/i
11. 代码:{“one”:function{/****/}}
12. 数组:{X:[“a”,”b”,[“c”,”d”]]}
13. 内嵌文档:{“x”:{“name”:”Tom”,”age”:20}}
5:常用命令查询类 :
1. 隐式创建数据库和表
2. 查看所有数据库:dbs;
3. 查看当前数据库:db;
4. 查看当前数据库集合:show tables;
5. 显示当前数据库的收集集合:showcollections;
6. 当前数据库c1集合里插入一个json对象:db.c1.insert({name:"user1"});
7. 查看c1集合收集器(表)对象:db.c1.find();
8. 插入一个json对象: db.c1.insert({name:"user3",age:30});
9. 删除一个集合(表):db.c1.remove();不知道为啥删不掉db.c1.remove({});db.c1.remove({_id:2})单条删除。
10. 修改一条记录:db.c1.update({id:1},id:3);修改id等于1的为3
11. db.c1.insert({name:"dingsai",age:27,sex:"nan"});插入多个字段.
12. db.c1.update({name:"dingsai"},{$set:{name:"dingsai2"}});更新其中一个字段
13. db.c1.update({name:"dingsai2"},{$set:{firstname:"ding"}});在现有数据中插入新字段。
14. db.c1.insert({_id:1,name:"user3"});insert时_id如果有相同数据报index错误;db.c1.save({_id:1,name:”user3”});则不报错,直接更改数据。
15. db.c1.insert({name:"wenzhang",post:{title:1,cnt:111}});插入子json数据。
16. db.c1.insert({name:"wenzhang",post:[1,2,3,4,5,6]});插入子数组。
17. for(i=1;i<10;i++){db.c1.insert({name:"ding"+i});};多行出入。
18. db.c1.find({name:"ding5"});查询name:”ding5”的数据。(select * from c1 where name=”ding5”);
19. db.c1.find({name:"dingTest"},{name:1,_id:0});查找name=”dingTest” 并且只返回name列的数据。(默认都返回_id)
20. db.c1.find({age:{$gt:5}});查找age大于5的值greater than
21. db.c1.find({age:{$lt:5}});查找 age小于5的值less than
22. db.c1.find({age:{$gte:5}});大于等于5的值 greater than or equal
23. Db.c1.find({age:{$lte:5}});小于等于5的值 less than or equal
24. db.c1.find().count();db.c1.count();查询c1 Collections中有多少数据。
25. db.c1.find().limit(3);显示前3条
26. db.c1.find().skip(5).limit(2);跳过前5条取2条。
27. db.c1.find().sort({age:-1});age降序排列(1|-1);1是升序排列。
28. db.c1.find().sort({age:-1}).skip(6).limit(3);年龄倒叙,跳过前6取3条。
29. db.c1.find().sort({age:-1}).skip(6).limit(3).count();count默认是false,还是统计全部数据;加入count(1),或者count(ture),才统计筛选过的数据。
30. db.c2.insert({name:"user1",post:[1,2,3,4,5]});插入数组。
31. db.c2.find({post:{$all:[1,4]}});查找post属性数组里含有1,2的数组。
32. db.c2.find({name:{$exists:1}});判断字段名是否存在;返回含有name字段名的数据。
33. db.c2.find({name:{$exists:0}});判断字段名是否不存在;返回不含有name字段名的数据。
34. db.c1.find({age:{$mod:[2,1]}});取余age字段模2余1的数;(1,3,5,7…)
35. db.c1.find({age:{$ne:7}});不等于not equals;年龄不等于7的数据
36. db.c1.find({age:{$in:[5,6,8]}});age在结果当中的。和sql中的一样。
37. db.c1.find({age:{$nin:[7,5]}});$nin 不在结果集当中,不是7和5的数据。
38. db.c1.find({$or:[{name:"user2"},{age:7}}]});$or或者等于;name等于user2或者age等于7的数据。
39. db.c1.find({$nor:[{name:"user1"},{age:7}]});$nor不等于;name不等于user1和age不等于7的数据
40. db.c2.find({post:{$size:2}});$size字段值的个数;post字段值个数是两个的结果。
41. db.c1.find({name:/user2/i});正则表达式;name字段以user2开头的数据。
42. db.c1.distinct("name");distinct获得不重复的值;和sql一样
43. 练习db.c1.find({name:/user/i},{name:1,age:1,_id:0},2,5);返回name和age字段,跳过前5条,取2条。
44. db.c3.insert({name:"user1",post:[{tit:1},{tit:2},{tit:3}]});查询db.c3.find({"post.tit":2});“post.tit”查询子json
45. db.c3.find({post:{$elemMatch:{tit:3,tit:2}}});”post.tit包含2和3的记录,跟上边一条一样。”
46. var cur=db.c1.find();cur.forEach(function(x){print(tojson(x))});定义游标,打印结果集成json;
47. db.c4.find({age:null});null;查询age是null和没有age属性的集合
48. db.c4.find({"age":{$exists:1,$in:[null]}});查询age存在并且为null的集合。(db.c4.find({age:{$type:10}}))意思相同
$type:10值域- MongoDB常用命令查询基础类
- Mongodb基础条件查询
- mongodb基础查询
- MongoDB常用命令汇总之聚集集合查询。
- Spring Data MongoDB 基础查询
- MongoDB常用命令插入更新类
- Mongodb基础用法及查询操作
- mongodb学习记录之一:基础查询
- Mongodb基础用法及查询操作
- mongodb常用命令
- mongodb常用命令
- MongoDB常用命令
- MongoDB常用命令
- MongoDB常用命令
- Mongodb常用命令
- mongodb常用命令
- mongodb常用命令
- mongodb常用命令
- poj-2409(polya定理模板)
- android 之杂七杂八
- 【Dokan学习记录】2015-01-27
- Hduoj1253【广搜】
- CVI 串口搜索代码
- MongoDB常用命令查询基础类
- 【Unity3D插件教程及源码解读】BestHttp插件用法简介:上篇
- x264宏块模式选择
- 开始iOS 7中自动布局教程(一)
- UIScrollView
- android多用户下应用安装详解三(特殊需求实现)
- NotifyDataSetChanged刷新机制优化
- Javascript:DOM事件(监听鼠标点击/释放,鼠标悬停/离开等)
- ios8iphone6plus 设计规范及适配尺寸 将附PSD(懒人版)