MongoDB学习(Shell)

编程入门 行业动态 更新时间:2024-10-09 20:24:23

<a href=https://www.elefans.com/category/jswz/34/1771382.html style=MongoDB学习(Shell)"/>

MongoDB学习(Shell)

MongoDB基础操作 (以下教程数据库名为:test 表名为:user)
添加数据库
use test #创建数据库
db.user.insert({"name":"test1"}) 为表user添加数据

需注意的是:如果在用了use之后,若无后续操作,其实该数据库并未被创建,只是存在缓存中

查看所有数据库
show dbs
给指定的数据库添加集合(表)并添加数据
db.user.insert({"name":"test1"}) 为表user添加数据

shell中不存在批量插入操作,若需要则需要通过for循环操作

查看数据库中所有的集合(表)
show collections
查询指定表的数据
db.user.finde()     查询所有
db.user.findeOne()  查询第一条数据
db.user.find({查询条件})
更新表中数据
db.user.update({查询条件},{结果值})  直接将源数据覆盖(相当于MySQL中先删除 后插入的效果)
db.user.update({查询条件},{$set:{结果}})  只将结果值用相同键的数据覆盖
相当于MySQL中的 set语句
例如:db.user.update({"name":"test1"},{"class":"软件工程"})
db.user.update({查询条件},{$set:{结果}},true,true)
第三个参数为true:若修改条件不存在,则将该结果插入
第四个参数为true:批量修改,若为false 则默认修改第一条数据
删除表的中数据
db.user.remove({条件}) 

若表的数据量巨大,删除结果可以用drop后 重新创建索引 效率会比remove快

删除表
db.user.drop() 
删除数据库
db.dropDatabase()
shell中的help
里面有所有的shell可以完成的命令帮助
数据库相关的db.help()
集合相关的db.test.help()
例如有:db.dbgetName() 获取数据库名
mongoApi
api.mongodb
其他
数据和表命名规范
1、不能是空字符串
2、不得含有“” 空格 、 等特殊字符
3、应全为小写
4、最多64位
5、数据名不能与现有系统保留库同名,如admin、local、config

这样的集合也是不合法的
db-text但是不能通过db.[doucumentName]得到了 要改成db.getCollection(doucumentName) 因为db-text会被当成减法操作

MongoDB的shell内置JavaScript引擎可以直接执行js代码
function insert(object){db.getCollection("test").isert(object)
}
insert({name:"wuhah"})
shell也可以用eval
db.eval("retun 'mongodb' ")
MongoDB的客户端相当于一个JavaScript的引擎
Bson是JSON的扩展他先增加了诸如日期,浮点等JSON不支持的数据类型
类型解释
null用于表示空或者不存在的字段
布尔两个数值true和false
32位和64位整数shell中不支持 需要用到其他高级语言的驱动来完成JS不可使用
64位浮点shell中使用的数字其实全是这种类型{x:3.414}
utf-8字符串类型
对象ID内置默认ID对象 (_id:ObjectId())
日期{X:new Data()}
正则{x:/uspcat/i}
JavaScript代码块{x:function(){…}}
underfined为定义类型 注意他和null不是一个类型
数组{gps:[20.56,43]}
内嵌文档{x:{name:”test1”}}
二进制任意字节的字符串shell中是无法使用的

更多推荐

MongoDB学习(Shell)

本文发布于:2024-03-09 02:19:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1723387.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:MongoDB   Shell

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!