美文网首页
Mongoose 内置方法

Mongoose 内置方法

作者: 一个健康马 | 来源:发表于2021-02-25 10:21 被阅读0次

1.查find(),findOne()

find({},cb(){}) 不传递默认显示全部  第二个参数如果是对象,则对象内的字段不返回
distinct :筛选不重复的值或字段  distinct(field)
$lt,$lte,$gt,$gte:分别对应: <,<=,>,>=.  model.find({num:{$gt:12}},cb)
$in:查询包含键值的文档,model.find({name:{$in:[“jimmy”,“sam”]}})
$nin:返回不匹配查询条件文档,都是指定数组类型 model.find({name:{$nin:[“jimmy”,“sam”]}})
$ne 表示不包含指定值 model.find({name:{$ne:“sam”}})
$or: 表示或查询查询多个键值的任意给定值  model.find({$or:[{ color: ‘red’ }, { status: ‘emergency’ }]})
$exits: 表示键值是否存在; model.find({name:{$exits:true}})
$all:通常用来匹配数组里面的键值,匹配多个值(同时具有) $all:[“apple”,“banana”,“peach”]}
$size:model.find({name:{$size:3}}); 匹配name的数组长度为3
$slice:query.slice(‘comments’, 5)
*limit:**用来获取限定长度的内容.query.limit(20); //只返回前20个内容
skip: 返回,跳过指定doc后的值.query.skip(2);
sort: 用来设置根据指定字段排序. 可以设置为1:升序, -1:降序.query.sort({name:1,age:-1});
$regex:模糊查询 //正则表达式
$options:匹配规则 
$sum 求和计算
连表查询并分组($group), _id为null只分一组
let pv =await WpPosts.aggregate(
        [   
            {   
                
                $group:{
                    _id:null,
                    pv:{$sum:'$browse'}
                }
            }
        ]
    )
.aggregate([ 
  {
    $lookup: {
      from: 'users',  // 从哪个Schema中查询(一般需要复数,除非声明Schema的时候专门有处理)
      localField: '_id',  // 本地关联的字段
      foreignField: 'department', // user中用的关联字段
      as: 'users' // 查询到所有user后放入的字段名,这个是自定义的,是个数组类型。
    }
  }
]);
————————————————
版权声明:本文为CSDN博主「walsr_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40140699/article/details/86064932
筛选($match),
指定字段($project),
参数 i ====== 加了这个参数,表示不区分大小写
参数 m ===== 查询匹配中使用了锚,例如^(代表开头)和$(代表结尾),以及匹配n后的字符串
参数 x =====忽视所有空白字符
参数 s =====允许点字符(.)匹配所有的字符,包括换行符

$project 修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。对应project()方法

 $match 用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作。对应match()。

 $limit 用来限制MongoDB聚合管道返回的文档数。对应limit()方法

 $skip 在聚合管道中跳过指定数量的文档,并返回余下的文档。对应skip()。

 $unwind 将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。对应unwind()方法

 $group 将集合中的文档分组,可用于统计结果。对应group()方法

 $sort 将输入文档排序后输出。对应sort()方法

 $geoNear 输出接近某一地理位置的有序文档。对应near()。

$group表达式说明:

 $sum  计算总和

 $avg  计算平均值

 $min  获取每一组集合中所有文档对应值得最小值

 $max  获取每一组集合中所有文档对应值得最大值

 $push  在结果文档中插入值到一个数组中

 $addToSet  在结果文档中插入值到一个数组中,但不创建副本

 $first  根据资源文档的排序获取第一个文档数据

 $last  根据资源文档的排序获取最后一个文档数据

2.删remove() deleteOne deleteMany

3.增save()

4.改update(),updateMany()。insertMany()

$inc : 变量 += 1 , 将查询到的结果 加上某一个值 然后保存 .update({"id":15},{$inc:{"age":1}})
$set :有修改没有就添加一条 .update({"id":15},{$set:{"age":1}})
$unset :删除字段  .update({"id":15},{$unset :{"age":1}})
$push: 它是用来对Array (list)数据类型进行 增加 新元素的.update({"id":15},{$push:{"list":1}})
$pull :删除满足条件的数组元素 .update({"id":15},{$pull :{"list":1}})
 $pop 指定删除Array中的第一个 或 最后一个 元素update({"id":15},{$pop :{"list":1}}) 

联表存储和查询

//查
.populate('userName','age')
    // .exec(function (err,data) {
    //     console.log(data)
    // })
//populate()第一个参数表示通过什么字段去联表并用来放入查到的联表数据,
//populate()第二个参数表示只返回某个字段默认全部返回
//exec()是回调操作没有exec()操作才能打印出完整a

//存

相关文章

  • Mongoose 内置方法

    1.查find(),findOne() 2.删remove() deleteOne deleteMany 3.增s...

  • Mongoose索引、Mongoose内置CURD方法、扩展Mo

    一、Mongoose索引 索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更快。Mon...

  • node之mongoose(二)

    Mongoose 常见查询方法 Mongoose库提供了find , findOne , findById 等方法...

  • MongoDB基础六:Mongoose 索引、内置CURD 方法

    一、Mongoose 索引 索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更快。 1...

  • Mongoose 遇到的问题总结(X.1)

    Mongoose 遇到的问题总结 1. mongoose findById返回为空 解决方法: 2. mongoo...

  • Mongodb

    Mongodb安装方法略。使用mongoose操作mongodb 。 安装 事件 创建Schema, Model ...

  • 面向对象基本语法

    目标 ●dir内置函数●定义简单的类(只包含方法)●方法中的self函数●初始化方法●内置方法和属性 01.内置函...

  • mongoose使用之查询篇

    查询基础 1、查询方法 mongoose查询使用最基础的方法就是find、findOne方法,前者查询所有满足条件...

  • koa如何连接MongoDB

    这个方法,node,express,koa连接MongoDB都是一样的方法,我们利用mongoose模块来连接 注...

  • 内置方法

    你也可以使用以下函数的方式来访问属性: getattr(obj, name[, default]) : 访问对象的...

网友评论

      本文标题:Mongoose 内置方法

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