MongoDB:好好说说mogodb的增删改查

来源:未知 责任编辑:责任编辑 发表时间:2013-12-22 14:57 点击:

一、insert操作:

mongodb的每一行(文档,上篇文章说的mongodb的三要素之一)都是采用K-V的方式存储的,对json熟悉的童鞋学mongodb肯定是手到擒来,对于Value,可能是个字符串,也可能是个数组,又可能是一个内嵌的json对象,相同的规则同样适用于BSON。

插入操作常见的有两种方式,单条插入和批量插入:

1、单条插入:

var single={"name":"chenglong","password":"12345","age":20,"address":{"province":"anhui","city":"hefei"},"favourite":["apple","banana"]}

db.user.insert(single)
db.user.find()

可以直接声明对象,是不是蛮diao的!

2、批量插入,批量插入的方法和单条唯一的区别是,你可以写个for循环,里面放入insert语句。就这么简单。

二、find操作

平时的开发中,我们经常使用的查询操作,一般都是下面两种:

1、> >= < <= != =

2、and or in notin

可喜的是,这些操作在mongodb中已经封装好了,做开发的都喜欢这种,拿来用就是:

<1>"$gt", "$gte", "$lt", "$lte", "$ne", "没有特殊关键字",这些跟上面1是一一对应的,代码

>
db.user.find({"age":{$gt:19}})

>=
db.user.find({"age":{$gte:19}})

<
db.user.find({"age":{$lt:22}})

<=
db.user.find({"age":{$lte:22}})

!=
db.user.find({"age":{$ne:22}})

<2> "无关键字“, "$or", "$in","$nin" 代码:

and  无关键字
db.user.find({"name":"chenglong","age":20})

or
db.user.find({$or:[{"address.province":"anhui"},{"address.province":"hunan"}]})

in
db.user.find({"address.province":{$in:["anhui","guangdong"]}})

nin
db.user.find({"address.province":{$nin:["anhui","guangdong"]}})

<3>,另外mongodb还能匹配正则表达式,真的很强大!

正则表达式
/* find name startwith 'c' and endwith 'g' */

db.user.find({"name":/^c/,"name":/g$/})

<4>,查询很复杂的时候,我们还可以用$where来作为我们的大招,因为where中的value,可以放我们js中的方法体!

让我们查找‘chenglong’

$where
/* find name="chenglong" */

db.user.find({$where:function(){return this.name=='chenglong'}})

\ 

三、update操作

update操作也是无非就两种,整体更新和局部更新!

<1>,上篇文章中,我们所用的更新,其实就是整体更新。

整体更新
var upd=db.user.findOne({"name":"chenglong"})
upd.age=30
db.user.update({"name":"chenglong"},upd)
db.user.find()
\
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • db2管理工具小结
  • DB2数据库的导出与导入(Windows客户端)
  • db2 CLP中如何换行
  • DB2查看表结构及所用表语句
  • DB2 · CREATE TABLESPACE
  • 使用DB2对象:创建模式、表和视图
  • DB2数据库逻辑卷的复制
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1