MongoDB的增删查改
发布时间:2023-09-22 13:09:09 所属栏目:系统 来源:
导读: 很多朋友可能对于MongoDB并不是很熟悉,因此这篇文章主要给大家介绍JavaScript Shell的MongoDB增删查改操作,感兴趣的朋友可以参考学习,下面我们一起来看看。
MongoDB自带了一个JavaScript Shell,
MongoDB自带了一个JavaScript Shell,
很多朋友可能对于MongoDB并不是很熟悉,因此这篇文章主要给大家介绍JavaScript Shell的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 =和!= { :{$eq: }} $gt和$gte >和>= { :{$gt: }} $lt和$lte <和<= { :{$lt: }} $in和$nin 包含 和 不包含 { :{$in:[ , ]}} 例子: /*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增删查改的操作就介绍到这,上述示例对新手具有一定的借鉴价值,有需要的朋友可以看看,希望对大家有帮助. (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐