mongodb-2 基本的命令使用-增删该查

 

0.总结:
使用数据库testuser 结合user 来总结增删改查的命令:
 
  1. use testuser
  2. db.getCollectionNames()
  3. db.user.insert({name:11,age:22,qq:32432})
  4. db.user.find()  
  5. db.user.findOne()
  6. find({条件},{展示的字段})  条件判断很复杂,$gt,$lt,$ne ,$where等
  7. update({条件},{更新内容})  全局更新,局部跟新  $inc $set 的区别使用
  8. update的批量更新,第四个参数
  9. remove 就不说了,不加参数就全部删完了,谨慎使用
1.mongo 中没有table的概念,mongodb 是非关系型数据库,nosql
2.mongo 中最重要的概念就是 集合  与文档的概念,一个数据库可以有多个集合,一个结合可以有多个文档
 
3.命令  在dos窗口可以执行,已经加入path
 mongo 进入数据库
show dbs 默认有test和local这两个数据库
local     0.078GB
test      0.078GB
testuser  0.078GB
 
use testuser  使用这个数据库,如果没有则创建一个,不是真正的创建,不过不对数据库进行操作是不会真正创建的
 
db 和use 的作用差不多
db 显示目前正在使用的数据库
 
db.getCollectionNames() 显示所有这个数据下的集合
db.getCollectionNames()
[ "system.indexes", "user" ]
 
查询某个集合下所有的文档
db.集合名.find/findOne
db.user.find()
{ "_id" : ObjectId("55121bb125df1cce27228948"), "name" : "shibiao", "age" : 22 }
 
db.user.insert({name:‘aa‘,age:33})
 
 
db.user.find({age:22},{name:1})
db.user.findOne()
find/findOne第一个参数是条件,第二参数是所要 显示的字段
 
db.user.update({条件},{更新的值})
db.user.remove({条件})
db.user.count({条件})
 
条件判断,
 <1>"$gt", "$gte", "$lt", "$lte", "$ne", "没有特殊关键字",这些跟上面是一一对应的,举几个例子。
<2> "无关键字“, "$or", "$in","$nin" 同样我也是举几个例子
<3> 在mongodb中还有一个特殊的匹配,那就是“正则表达式”,这玩意威力很强的。
<4> 有时查询很复杂,很蛋疼,不过没关系,mongodb给我们祭出了大招,它就是$where,为什么这么说
 
 技术分享
 
 
Update操作
 
整体更新和局部更新,默认就是局部更新了

    有时候我们仅仅需要更新一个字段,而不是整体更新,那么我们该如何做呢?easy的问题,mongodb中已经给我们提供了两个

   修改器: $inc 和 $set。

技术分享
 
 
 

<3> upsert操作,找不到就insert一条【加入的可能是一个字段也有可能是一个记录】

     这个可是mongodb创造出来的“词”,大家还记得update方法的第一次参数是“查询条件”吗?,那么这个upsert操作就是说:如果我

没有查到,我就在数据库里面新增一条,其实这样也有好处,就是避免了我在数据库里面判断是update还是add操作,使用起来很简单

将update的第三个参数设为true即可

 
技术分享
 

<4> 批量更新

     在mongodb中如果匹配多条,默认的情况下只更新第一条,(这个第一条是按照大小顺序来的,比如说对于3,的条件,100,99,,5,4,)那么如果我们有需求必须批量更新,那么在mongodb中实现也是很简单

的,在update的第四个参数中设为true即可。例子就不举了。

技术分享
 
 
 
 
 
 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。