Mongodb入门5
最近在用MongoDBKoa2做个小项目,记录一下:
首先,如何连接线上数据库:
const url = `mongodb://user:pwd@ipaddr:27017/Blog`;
const monk = require('monk');
const db = monk(url); db.then(() => {
console.log('MongoDB数据库连接成功!')
}) module.exports = db;
实际操作:
模糊查询
通过$regex来实现
const query = { name: { $regex: new RegExp(name) } };
获取查询出来的总数量,分页
const count = await tagsCol.count(query);
let list = await tagsCol.find(query, {
projection: { _id: 0 },
...new ctx.MongoQuery.Pagination(page, size),
});
MongoQuery.js
var Pagination = require('./Pagination');
function MongoQuery() { }
MongoQuery.Pagination = Pagination;
module.exports = () => async (ctx, next) => {
ctx.MongoQuery = MongoQuery;
await next();
}
字段筛选
// 0 就是不显示,1就是显示
projection: { _id: 0 },
整体代码如下:
const router = require('koa-router')()
const db = require('../db');
const tagsCol = db.get('tags')
router.prefix('/tags')
/**
* @ / 查询列表分页
* @ /insert 新增数据
* @ /update 修改数据
* @ /drop 删除数据
* @ /all 查询所有数据
*/
router.get('/', async (ctx, next) => {
const { name, page, size } = ctx.query;
const query = { name: { $regex: new RegExp(name) } };
try {
const count = await tagsCol.count(query);
let list = await tagsCol.find(query, {
projection: { _id: 0 },
...new ctx.MongoQuery.Pagination(page, size),
});
ctx.body = new ctx.JsonResponse(200, { list, count })
} catch (e) {
ctx.body = new ctx.JsonResponse(500, {})
}
db.close();
});
router.get('/insert', async (ctx, next) => {
ctx.body = '插入成功!';
});
router.post('/update', async (ctx, next) => {
ctx.body = 'this is a users/bar response'
});
router.get('/drop', async (ctx, next) => {
const { id } = ctx.query;
try {
await tagsCol.remove({ id: Number(id) });
ctx.body = new ctx.JsonResponse(200)
} catch (e) {
ctx.body = new ctx.JsonResponse(500)
}
db.close();
});
module.exports = router
Mongodb入门5的更多相关文章
- MongoDB 入门之基础 DCL
此文章主要记录部分主要的 MongoDB 的 DCL 操作. MongoDB 默认不需要用户名和密码就可以用 mongodb.exe 登录 一.开启 MonogoDB 的权限模式 修改 MongoDB ...
- MongoDB入门三:MongoDB shell
MongoDB shell MongDB shell是一个功能完备的Javascript解释器,可以运行Javascript程序.也可以用于连接MongoDB服务器,执行脚本,对数据库进行操作.类似于 ...
- MongoDB 入门之查询(find)
MongoDB 入门之查询(find) 1. find 简介 (1)find的第一个参数决定了要返回哪些文档. 空的查询文档会匹配集合的全部内容.默认就是{}.结果将批量返回集合c中的所有文档. db ...
- MongoDB入门简介
MongoDB入门简介 http://blog.csdn.net/lolinzhang/article/details/4353699 有关于MongoDB的资料现在较少,且大多为英文网站,以上内容大 ...
- mongodb入门教程二
title: mongodb入门教程二 date: 2016-04-07 10:33:02 tags: --- 上一篇文章说了mongodb最基本的东西,这边博文就在深入一点,说一下mongo的一些高 ...
- mongodb入门教程
title: mongodb入门教程 date: 2016-04-06 14:47:18 tags: --- 为什么要认识呢,因为这玩意就一傻逼 借用一下百科的介绍 MongoDB 是一个介于关系数据 ...
- MongoDb 入门教程
MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的高性能数据存储解决方案,经常被用于非关系型数据的存储,能存储海量的数据. 常 ...
- MongoDB入门必读(概念与实战并重)
MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个 ...
- mongodb入门很简单(3)
##简单的mongodb入门命令## 1.show dbs; //查看当前数据库 2.use databaseName; //选库 3.show tables/collec ...
- MongoDB入门实践
MongoDB入门实践 简单介绍MongoDB,包括MongoDB的使用场景.和MySQL的对比.安装部署.Java客户端访问及总结 MongoDB? 我们遵循需求驱动技术的原则,通过一个场景来引入M ...
随机推荐
- P1387
#include<iostream> #include<utility> using namespace std; typedef long long ll; #define ...
- useCookie函数:管理SSR环境下的Cookie
title: useCookie函数:管理SSR环境下的Cookie date: 2024/7/13 updated: 2024/7/13 author: cmdragon excerpt: 摘要:本 ...
- [oeasy]python0074_修改字体背景颜色_background_color_背景色
修改背景色 回忆上次内容 上次将asciiart和颜色一起来玩 7 种基本色 变化多端 不过到目前为止 改的 都是前景色 背景色可以修改吗? 重温参数 具体动手试试 print("\033[ ...
- 华为matebook 14s笔记本,Chrome浏览器开启硬件加速,屏幕闪屏,黑框,页面屏幕卡死,解决办法
解决办法使用了 https://zhuanlan.zhihu.com/p/644296061 这个连接下的最后一个折中办法解决! 一.现象 Chrome开启"硬件加速模式"后,在观 ...
- OkHttp 快速掌握
OkHttp是一个高效的HTTP库,它提供了许多优化和便利功能,使得我们能够更高效地使用HTTP协议进行通信. 一些主要特性包括: 支持SPDY协议:SPDY协议是Google开发的一种HTTP传输协 ...
- 云原生 .NET Aspire 8.1 新增对 构建容器、编排 Python的支持
.NET Aspire 用于云原生应用开发,提供用于构建.测试和部署分布式应用的框架,这些应用通常利用微服务.容器.无服务器体系结构等云构造.2024年7月23日宣布的新 8.1 版本是该平台自 5 ...
- 【VMware】虚拟机 VMware WorkStation Pro 下载安装(Windows)
官网地址: 下载地址:[VMware WorkStation Pro 15.5 For Windows] https://www.vmware.com/cn/products/workstation- ...
- 【转载】大模型时代的PDF解析工具
本文来自博客园,作者:叶伟民,转载请注明原文链接:https://www.cnblogs.com/adalovelacer/p/18092208/pdf-tools-for-large-languag ...
- 读论文《Distilling the Knowledge in a Neural Network》——蒸馏网络 —— 蒸馏算法 —— 知识蒸馏 中的温度系数到底怎么用, temperature怎么用?
论文地址: https://arxiv.org/pdf/1503.02531.pdf 蒸馏网络的重要公式: 其中,\(p^g\)为Teacher网络,\(q\)为Student网络. 个体神经网络(C ...
- 分享某Python下的mpi教程 —— A Python Introduction to Parallel Programming with MPI 1.0.2 documentation ( 续 #2 )
接前文: 分享某Python下的mpi教程 -- A Python Introduction to Parallel Programming with MPI 1.0.2 documentation ...