本文实例讲述了MongoDB增删查改操作。分享给大家供大家参考,具体如下:
MongoDB自带了一个JavaScript Shell,所以在其中使用js语法是可以的。
Insert操作:
单条插入
var single={"name":"mei","age":22} db.user.insert(single);
循环插入
var single={"name":"tinyphp","num":28,} for(var i=0;i<5;i++){single.num=i;db.user.insert(single);}
Find查询操作:
db.集合名.find(query,fields,limit,skip)
query,指明查询条件,相当于SQL中的where语句
例子:
db.student.find({"name":"joe","age":{$lt:22}})
fields用于字段映射,语法格式:{field:0}或{field:1}
例子:
db.student.find({"age":{$lt:22},{"_id":0,"name":1}})
表示查询结果包含name字段,不包含_id字段
limit限制查询结果集的文档数量,指定查询返回结果数量的上限
例子:
db.student.find({"name":"joe"},{"name":1,"age":1},5)
skip跳过一定数量的结果,设置第一条返回文档的偏移量
例子:
db.student.find({"name":"joe"},{"name":1,"age":1},5,20)
表示跳过前20条文档
排序:-1降序,1升序
db.user.findOne()
注意事项:MongoDB不支持多集合间的连接查询,find函数一次查询只针对一个集合
比较查询操作符:
比较操作符 | 对应 | 参数 |
$eq和$ne | =和!= | {
|
$gt和$gte | >和>= | {
|
$lt和$lte | <和<= | {
|
$in和$nin | 包含 和 不包含 | {
|
例子:
/*find age >22*/ db.user.find({"age":{$gt:22}})
逻辑查询操作符:
逻辑操作符 | 对应 | 参数 | |
$and | 与 | {$and:[{条件1},..,{条件N}]} | db.user.find({$and:[{"name":"tinyphp","num":3}]}) 等同 db.user.find({"name":"tinyphp","num":3}) |
$or | 或 | {$or:[{条件1},..,{条件N}]} | |
$nor | 非 | {$nor:[{条件1},..,{条件N}]} | |
$not | 取反 | {field:{$not:{条件}}} |
元素操作符:
元素操作符 | 作用 | 如 | |
$exists | 按照字段是否存在来查询文档 | {field:{$exists:布尔值}} | db.user.find({"age":{$exists:true}}) 查询存在age字段的文档 |
$type | 选择字段值为指定BSON数据类型编号的文档 |
正则匹配
/* find name 开头为j的*/ db.user.find({"name":/^j/})
$where查询
可以结合javascript进行查询,当javascript返回true时,才返回当前文档
db.user.find({$where:function(){return this.name=='jack'}})
查询时,$where操作符不能使用索引,每个文档需要从BSON对象转换成javascript对象后,才可以通过$where表达式运行,因此比常规查询要慢,一般要避免使用$where查询。
还可以存起来用:
var list=db.user.find(); list.forEach(function(x){ print(x.name); })
Update操作:
整体更新
var model=db.user.findOne({"name":"jack"}) model.age=44 db.user.update({"name":"jack"},model)
局部更新
$inc修改器
/*update bing age+30 */ db.user.update({"name":"bing"},{$inc:{"age":30}})
$set修改器
/*update bing age=10 */ db.user.update({"name":"bing"},{$set:{"age":10}})
update的true参数
若update最后参数加true则修改条件不存在时,自动增加一条如:
db.user.update({"name":"Mark"},{$set:{"age":10}},true)
会自动增加一条记录:name为mark,age为10
如果加了true,而且条件又满足则会批量修改,不然就默认只更新第一条
Remove操作:
db.person.remove({"name":"jack"})
希望本文所述对大家MongoDB数据库程序设计有所帮助。
本文向大家介绍CodeIgniter框架基本增删改查操作示例,包括了CodeIgniter框架基本增删改查操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了CodeIgniter框架基本增删改查操作。分享给大家供大家参考,具体如下: 对于codeigniter的增删改,在此我用自己的一个例子来说明一下: 创建数据库: Model MTest.php Controller home.p
本文向大家介绍MongoDB简单操作示例【连接、增删改查等】,包括了MongoDB简单操作示例【连接、增删改查等】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了MongoDB简单操作。分享给大家供大家参考,具体如下: MongoDB 中默认的数据库为 test,连接后尝试以下操作 连接 插入数据:用过json的同学看到这格式相信不会陌生吧! 查: 修改: 再查: 删除: 再查: 经过上面
本文向大家介绍nodejs操作mongodb的增删改查功能实例,包括了nodejs操作mongodb的增删改查功能实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了nodejs操作mongodb的增删改查功能。分享给大家供大家参考,具体如下: 安装相关模块 如果使用这个的话,你需要先自己安装一下他需要的模块,在根目录输入 进行模块安装,安装成功以后就可以进行以下的步骤。 文件的引入 以下
增删改查是数据库的基础操作方法。ES 虽然不是数据库,但是很多场合下,都被人们当做一个文档型 NoSQL 数据库在使用,原因自然是因为在接口和分布式架构层面的相似性。虽然在 Elastic Stack 场景下,数据的写入和查询,分别由 Logstash 和 Kibana 代劳,作为测试、调研和排错时的基本功,还是需要了解一下 ES 的增删改查用法的。 数据写入 ES 的一大特点,就是全 RESTf
主要内容:插入记录,修改记录,删除记录,查询数据接下来,我们将介绍 Hibernate 是如何实现对数据库的增删改查(CRUD)操作的。 插入记录 Hibernate 在 Session 接口中为我们提供了一个 save() 方法,该方法可以向据库表中插入记录。 1. 在测试类 MyTest 中,创建一个名称为 testInsert 的方法,代码如下。 2. 运行测试方法 testInsert(),控制台输出如下。 3. 查询数据库 user
本文向大家介绍Node.js对MongoDB进行增删改查操作的实例代码,包括了Node.js对MongoDB进行增删改查操作的实例代码的使用技巧和注意事项,需要的朋友参考一下 MongoDB简介 MongoDB是一个开源的、文档型的NoSQL数据库程序。MongoDB将数据存储在类似JSON的文档中,操作起来更灵活方便。NoSQL数据库中的文档(documents)对应于SQL数据库中的一行。将一