帮助中心/最新通知

质量为本、客户为根、勇于拼搏、务实创新

< 返回文章列表

【服务器相关】MongoDB增删查改操作示例【基于JavaScript Shell】

发表时间:2025-06-16 03:46:00 小编:主机乐-Yutio

本文实例讲述了MongoDB增删查改操作。分享给大家供大家参考,具体如下:

MongoDB自带了一个JavaScript Shell,所以在其中使用js语法是可以的。

Insert操作:

单条插入

比较操作符对应参数$eq和$ne=和!={:{$eq:}}$gt和$gte>和>={:{$gt:}}$lt和$lte<和<={:{$lt:}}$in和$nin包含 和 不包含{:{$in:[,]}}

例子:

逻辑操作符对应参数$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数据类型编号的文档

正则匹配



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修改器



db.user.update({“name”:”bing”},{$inc:{“age”:30}})

$set修改器



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数据库程序设计有所帮助。


联系我们
返回顶部