美文网首页
MongoDB 常用 操作符

MongoDB 常用 操作符

作者: 木猫尾巴 | 来源:发表于2016-03-14 17:42 被阅读625次

[TOC]

比较符

操作符 效果 例子
gt 大于 {"field": {$gt: value}}
lt 小于 {"field": {$lt: value}}
gte 大于等于 {"field": {$gte: value}}
lte 小于等于 {"field": {$lte: value}}
exists 存在与否 {"member": {$exists: true}}}
in 包含 {"member.age": {$in: [null], "$exists: true"}}
ne 不等于 {"member.age": {$ne: "mine"}}

逻辑符

操作符 效果 例子
exists 存在与否 {"couponsCode.0": {$exists: 1}} 数组存在第一条数据
or 或者 {"$or": [{"member.age": "23"}, {"member.name": "23333"}]}
and 并且 {"$and": [{"member.age": "23"}, {"member.name": "23333"}]}

特别的 $exists: true 表示字段存在

排序 sort

操作 效果 例子
asc 升序 .sort({"member.age": 1})
desc 降序 .sort({"member.age:": -1})

正则表达式

不匹配name以B开头的记录

db.collection.find({"name": {$not: /^B.*/}});

这种写法需要把正则表达式放在 // 之中,如果某些平台是完全使用字符串通讯,则会导致转意问题,需要原生的正则表达式写法

正则表达式原生写法

var regNumber = '/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/';
{mobile:  {$regex: regNumber}}

Where 查询

不多用
e.g. 查询一条age大于3的记录
普通的查询方法:

db.collection.find({age:{$gt:3}});

$where的数据比较符号来查询

db.collection.find("this.age>3");

相关文章

网友评论

      本文标题:MongoDB 常用 操作符

      本文链接:https://www.haomeiwen.com/subject/ihvflttx.html