[root@host51 ~]# mongo --host 192.168.4.51 --port 27051
MongoDB shell version v3.6.3
connecting to: mongodb://192.168.4.51:27051/
MongoDB server version: 3.6.3
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
> use gamedb //没有库,就
switched to db gamedb
库管理命令: 查看 创建 切换 删除
– show dbs 查看已有的库
显示当前所在的库
– db
– use 库名 切换库,若库不存在的话 自动延时创建库
– show collections 或 show tables 查看库下已有的
集合
– db.dropDatabase()
删除当前所在的库
> db.dropDatabase() //删除当前库
{ "ok" : 1 }
库名命名规则:
• 数据库名可以是满足以下条件的任意 UTF-8 字符串。
– 不能是空字符串( "") 。
– 不得含有 ' ' (空格 ) 、 . 、 $ 、 / 、 \ 和 \0 ( 空字符 )
。
– 应全部小写。
– 最多 64 字节。
• 集合管理命令:查看 创建 删除
– show collections 或 show tables # 查看集合
– db. 集合名 .save({'',''})在时,创建并添加文档
# 创建集合,集合不存
> db.c1.save({name:"bob",email:"plj@tedu.cn"})
WriteResult({ "nInserted" : 1 })
• 插入记录
> db.c1.insert({name:"luly",class:"nsd1804"})
WriteResult({ "nInserted" : 1 })
> db.c1.find()
{ "_id" : ObjectId("5b61309332bc8e678acd6f3b"), "name" : "bob", "email" : "plj@tedu.cn" }
{ "_id" : ObjectId("5b614dab32bc8e678acd6f3c"), "name" : "luly", "class" : "nsd1804" }
– db. 集合名 .drop() # 删除集合
> db.c1.remove({name:"luly"})
WriteResult({ "nRemoved" : 1 })
> db.c1.find()
{ "_id" : ObjectId("5b61309332bc8e678acd6f3b"), "name" : "bob", "email" : "plj@tedu.cn" }
> show tables
c1
> db.c1.drop()
true
> show tables
库的管理命令 表的管理命令 文档的管理命令
mongodb 的数据类型:
字符 string/ 布尔 bool/ 空 null
• 字符串 string
– UTF-8 字符串都可以表示为字符串类型的数据
– {name:” 张三” } 或 { school:“tarena”}
> db.c2.save({name:"张三",school:"达外"})
WriteResult({ "nInserted" : 1 })
> db.c2.find()
{ "_id" : ObjectId("5b61513d32bc8e678acd6f3f"), "name" : "bob", "school" : "tarena" }
{ "_id" : ObjectId("5b61519132bc8e678acd6f40"), "name" : "zhangsan", "school" : "danei" }
{ "_id" : ObjectId("5b6151b132bc8e678acd6f41"), "name" : "张三", "school" : "达外" }
• 布尔 bool
– 布尔类型有两个值 true 和 false , {x:true}
> db.c2.save({name:"jack",school:"tarena",single:false})
WriteResult({ "nInserted" : 1 })
• 空 null
– 用于表示空值或者不存在的字段, {x:null}
> db.c2.save({name:"lilei";school:"tarena",single:false,pay:null})
> db.c2.find()
{ "_id" : ObjectId("5b61513d32bc8e678acd6f3f"), "name" : "bob", "school" : "tarena" }
{ "_id" : ObjectId("5b61519132bc8e678acd6f40"), "name" : "zhangsan", "school" : "danei" }
{ "_id" : ObjectId("5b6151b132bc8e678acd6f41"), "name" : "张三", "school" : "达外" }
{ "_id" : ObjectId("5b61526b32bc8e678acd6f42"), "name" : "jack", "school" : "tarena", "single" : false }
{ "_id" : ObjectId("5b6152ea32bc8e678acd6f43"), "name" : "lilei", "school" : "tarena", "single" : false, "pay" : null }
> db.c2.count();
5
数值 / 数组 array
• 数值
– shell 默认使用 64 为浮点型数值。 {x : 3.14} 或 {x : 3} 。
– NumberInt ( 4 字节整数) {x:NumberInt(3)}
> db.c2.save({name:"tom",xf:NumberInt(195.23)})
WriteResult({ "nInserted" : 1 })
> db.c2.find()
{ "_id" : ObjectId("5b61559c32bc8e678acd6f45"), "name" : "tom", "xf" : 195 }
– NumberLong ( 8 字节整数) {x:NumberLong(3)}
> db.c2.save({name:"tom",xf:NumberLong(4918)})
WriteResult({ "nInserted" : 1 })
> db.c2.find()
{ "_id" : ObjectId("5b61559c32bc8e678acd6f45"), "name" : "tom", "xf" : 195 }
{ "_id" : ObjectId("5b6155ef32bc8e678acd6f46"), "name" : "tom", "xf" : NumberLong(4918) }
> db.c2.save({name:"tom",xf:NumberLong(195.23)})
2018-08-01T14:41:17.761+0800 E QUERY [thread1] Error: number passed to NumberLong must be representable as an int64_t :
@(shell):1:27
• 数组 array
– 数据列表或数据集可以表示为数组
– {x : [“a“ ,“ b”,”c”]}
> db.c2.save({name:"xiaoqiang",like:["gril","eat","piao","sleep"]})
WriteResult({ "nInserted" : 1 })
代码 / 日期 / 对象
• 代码
– 查询和文档中可以包括任何 JavaScript 代码
– {x: function( ){}}
> db.c2.save(
... {
... name:"php",
... code:function(){},
... like:100000})
WriteResult({ "nInserted" : 1 })
• 日期
– 日期被存储为自新纪元依赖经过的毫秒数,不存储时区
– {x:new Date( )}
> db.c2.save({name:"kk",sr:Date()})
WriteResult({ "nInserted" : 1 })
> db.c2.find({name:"kk"})
{ "_id" : ObjectId("5b6159bd32bc8e678acd6f4a"), "name" : "kk", "sr" : "Wed Aug 01 2018 14:57:01 GMT+0800 (CST)" }
• 对象
– 对象 id 是一个 12 字节的字符串,是文档的唯一标识
– {x: ObjectId() }
> db.c2.save({name:"jj",stu_id:ObjectId(),class:"nsd1804"})
WriteResult({ "nInserted" : 1 })
> db.c2.find({name:"jj"})
{ "_id" : ObjectId("5b61590132bc8e678acd6f49"), "name" : "jj", "stu_id" : ObjectId("5b61590132bc8e678acd6f48"), "class" : "nsd1804" }
内嵌 / 正则表达式
• 内嵌
– 文档可以嵌套其他文档,被嵌套的文档作为值来处理
– {tarena: {address:“Beijing”,tel:“888888”,perso
n:”hanshaoyun”
– }}
> db.c2.save({tarena:{address:"beijing",tell:8888888,person:"harry"}})
WriteResult({ "nInserted" : 1 })
> db.c2.save({ywzd:{writer:"dmy",pay:68,vers:"v2"}})
WriteResult({ "nInserted" : 1 })
• 正则表达式
– 查询时,使用正则表达式作为限定条件
– {x:/ 正则表达式 /}
> db.c2.save({jbname:"shell",rcode:/.$/})
WriteResult({ "nInserted" : 1 })
> db.c2.find({jbname:"shell"})
{ "_id" : ObjectId("5b615f4832bc8e678acd6f4d"), "jbname" : "shell", "rcode" : /.$/ }
数据类型:
字符
数值 NumberInt NumberLong
布尔 ture false
空 null
数组 [值1,值2.....值n]
日期New Date()
正则 /正则表达式/
代码function()
对象ObjectId()
- 模电学习心得(转载)_史蒂文森sun_新浪博客
个人建议:认真分析几个典型电路,主要掌握晶体管的等效模型,以及在电路中怎么等效.其他的都很容易解决了.只要会等效了,模电就是完全是电路的内容.其实一点都不可怕,开始不要太关注乱七八糟的内容,抓住主要的 ...
- 软件项目开发模式_小晓_同学__新浪博客
螺旋开发模式:部分模块开发还可以再继续开发别的模块,适合于项目前期需求不确定的情况 对于每一个模块一个个开发:分析.设计.编码.测试.上线: 好处:有效的降低软件项目风险,(做出的产品要尽量满足客户需 ...
- 当前电气自动化专业就业形势调查报告 (转载)_史蒂文森sun_新浪博客
当前电气自动化专业就业形势调查报告 尽早了解本专业的设置及就业情况有助于我们确定自己的发展方向,当竞争工作时,能有更多的优势.为此,本人于2012年2月18日至3月10日进行了调查,通过文献查阅.实 ...
- [转载]R软件包vegan教程 5.1 函数adonis的使用_圈圈Bio_新浪博客
原文地址:R软件包vegan教程 5.1 函数adonis的使用作者:mateco 5 差异和环境(Dissimilarities and environment) 已经讨论了排序的环境因子解释,和环 ...
- 串管理——鸟友们快来看啊——看清楚点_悟sphenic_新浪博客
串管理--鸟友们快来看啊--看清楚点 在内存有限的情况下,应当特别注意串的"繁殖".一种常见的做法是使用+操作符,而这往往会带来问题,如果把多个串通过+操作符连接在一起构成一个串, ...
- 在线画图工具-CCA与RDA分析_圈圈Bio_新浪博客
网站:http://www.qplot.cn:3838/sample-apps/006-CCA_RDA/ RDA分析(Redundancy analysis),即冗余分析,对比主成分分析可以发现,其实 ...
- Bug管理的流程和几个重点_悟sphenic_新浪博客
Bug管理的流程和几个重点 前两天谈论的bug管理的问题,大家列举了很多bug跟踪软件,我觉得工具是一部分,但是主要还在bug管理的流程上. 在这些bug管理工具里,bug的一个最重要的属性就是&qu ...
- 删除PO交货计划行后PR对应的订购数量不更新问题_用户3231157403_新浪博客
客户提出一个issue. 当PO item 有两个PR时 删除其中一个行项目:PR10234539 然后查看PR 发现这里是不对,订购数量应该是0,没有更新 解决方案: 2265448 - Order ...
- 在线画图工具-venn维恩图_圈圈Bio_新浪博客
网址: http://www.qplot.cn:3838/sample-apps/001-venn/ plot venn 维恩图,也叫文氏图,用于显示元素集合重叠区域的图示.可以表示集合与集合之间的相 ...
- Cookie和session的区别以及安全性_小晓_同学__新浪博客
1.cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据. 2.session其实指的就是访问者从到达某个特定主页到离开为止的那段时间. ...