mongoose
多比熊
这个作者很懒,什么都没留下…
展开
-
如何使用mongoose操作ObjectId更新删除?
首先需要将mongoose引入const mongoose = require('mongoose');mongoose.Types.ObjectId(id);//这才是关键//用户登录更新登录时间app.all('/userLoginTime',(req,res,next)=>{ let id = req.query._id; let _id = mongoose...原创 2018-12-12 16:49:59 · 2278 阅读 · 0 评论 -
使用mongodb增删改查深层嵌套文档
在mongodb中经常遇到这样的数据结构:{ "_id" : ObjectId("5cd01dfc5d157b5d9bc2750a"), "results" : [ { _id:"5cd01dfc5d157b5d9bc27597" name:"one", "relation_kpi_draft" : [ { "parent_id" : null, ...原创 2019-05-28 11:07:38 · 4867 阅读 · 25 评论 -
mongodb读写过程
=> mongodb读过程=> mongodb写入过程转载 2019-05-23 16:53:15 · 1179 阅读 · 0 评论 -
Nodejs await异常处理
老生常谈,很多人在面对轻松使用await的同时,又因为它的处理机制而又头疼。现在博主带来两种异常处理方式:1: 传统的try{}catch{} //但当代码量复杂的时候就显得不够整洁2: 推荐使用scopsy贡献的 await-to-js包,可以使用npm直接下载它的底层很简单,就是对promise进行了一层封装,我们可以把它拿出来放在项目中的基类中进行使用://该npm包的源码,利用...原创 2019-05-17 16:30:03 · 3300 阅读 · 0 评论 -
mongoddb模糊查询sql语句
const qs = new RegExp(name,'ig'); user = await userModel.find({$or: [{ display_name: qs },{ name_lower : qs},],status: 1, is_deleted: 0,role:1});原创 2019-05-15 22:24:39 · 206 阅读 · 0 评论 -
monodb树结构的设计和递归
这段时间博主在做一个项目,是父子关系相互引用并且可以重复,与往常的树结构不同,它除了可以一对多之外,他们自己可以成为自己的父亲,并且子可以重复多个,要指明父子关系,经过斟酌考虑后,博主采用了这种接口假设有一个需求,每一个任务都有自己的任务关联组:现在有三个任务,A,B,C,他们之前相互关联,现在从A开始关联,也就是说可以这样;A-A-A-B-B-B-C-C-C一个很荒谬的需求,这种情况从...原创 2019-04-21 00:56:34 · 1693 阅读 · 1 评论 -
mongodb中$push和$pull的使用,向内嵌的数组中删除和添加元素
假设在集中在存在如下数据:{ "_id" : ObjectId("5cb6e53cb4276075a2262f5b"), "results" : [ { "current" : 7.45, "origin" : 0, "target" : 100, "title" : "组织kr", "type" : 2, "director" : "c673e193...原创 2019-04-21 00:18:39 · 8736 阅读 · 0 评论 -
使用redis+cookie做单点登录(node+express)
单点登录的实现方式有很多种,在这里博主就先使用了简单的cookie+redis做了一个单点登录注:没有绝对的安全,所以我们加强验证,增加攻击者攻破的难度我的思路是这样的1:首先用户输入账号密码登录后在数据库进行对比2:账号密码错误重新登录,账号密码正确则进行下一步3:cookie在同一个浏览器中是共享的,在用户登录成功之后,我们使用加密算法进行加密混淆形成一个token存入cookoie...原创 2019-01-28 14:39:02 · 2541 阅读 · 0 评论 -
模拟并发访问量
首先在官网中下载nodehttps://nodejs.org/zh-cn/下载安装完成后,在编辑器中创建js文件编写模拟访问代码//在这里我们使用npm库中的 autocannon 工具'use strict' const autocannon = require('autocannon') autocannon({ url: 'http://localhost:3000',...原创 2019-01-09 18:47:56 · 1117 阅读 · 0 评论 -
用mongoose根据某字段分组统计数量并排序
await models.signUp.aggregate( [ { $match: { unit_name: { $in: signDataArr } ...原创 2019-01-14 10:46:18 · 7829 阅读 · 0 评论 -
使用mongoose进行连表查询并分组($group),筛选($match),指定字段($project),批量查询($in)
const arrAttribute = await models.institutionAttributes.aggregate( [ { $lookup:连表关键词,类似mysql中的left join { ...原创 2019-01-14 10:42:30 · 12002 阅读 · 0 评论 -
Nodejs async.map
首先需要引入async库npm i async之后使用async库中的async.map它会将每次循环的结果暂存在callback中,并在最后形成结果集返回const async = require('async');let signArr = []; let signData = new Promise((resolve, reject) => { ...原创 2019-01-08 16:09:38 · 1652 阅读 · 1 评论 -
如何判断是否传入ObjectId?(mongodb/mongoose)
const checkForHexRegExp = new RegExp('^[0-9a-fA-F]{24}$');isObjectId(id) { var self = this; if (_.isEmpty(id)) { return false; } if ('number' === typeof id...原创 2019-01-08 15:25:46 · 1421 阅读 · 1 评论 -
mongodb批量插入,批量更新,批量删除,批量查询
批量插入> db.user.insertMany([{username: "一号", password: "二号"},{username: "一号m", password: "二号m"}]);{ "acknowledged" : true, "insertedIds" : [ ObjectId("5d677bf6266a6c3bde961c92"), ObjectId("5d...原创 2019-08-29 15:31:08 · 6632 阅读 · 0 评论