热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mongoose基本用法

1.SchemaTypes数据类型数据类型描述String字符串Number数字Date日期Boolean布尔值Mixed混合Objectid对象IDArray数组2.基本用法首先

 

1. SchemaTypes数据类型

数据类型描述
String字符串
Number数字
Date日期
Boolean布尔值
Mixed混合
Objectid对象ID
Array数组

 

 

 

 

 

 

 

 

 

 

2. 基本用法

首先创建3张表:

var studentSchema = new student({name: { // 学生姓名
type: String,required: true},classNo: { // 班级编号
type: String},createTime: { // 创建时间
type: Date,default: Date.now}
})
var ClassSchema = new classNo({className: { // 班级名称
type: String,required: true,unique: true},teaNo:{ // 教师编号
type: String},createTime: {type: Date,default: Date.now}
})
var TeaSchema = new teacher({teaName: { // 教师名称
type: String,required: true,unique: true},createTime: {type: Date,default: Date.now}
})

 

  • 查询全部

function findAll() {stu.find(function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}})
}

  • 分页查询( limit : 需要显示多少条数据, skip : 跳过多少数据 )

function findAll() {stu.find(function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}}).limit(2).skip(2)
}

  • 根据时间倒叙查询 sort

function findAll() {stu.find(function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}}).sort({createTime: -1})
}

  • 按名字查询(返回数组)

function findName() {stu.find({name: '小名'}, function (err, ret) {console.log(ret)})
}返回值:
[ { _id: 5c0894c217973525c41d0ede,name:
'小名',classNo: '5c08944bfb6d6720cca60214',createTime: 2018-12-06T03:17:22.933Z,__v: 0 } ]

  • 按名字查询(返回对象)

function findName() {stu.findOne({name: '小名'}, function (err, ret) {console.log(ret)})
}返回值:
{ _id: 5c0894c217973525c41d0ede,name:
'小名',classNo: '5c08944bfb6d6720cca60214',createTime: 2018-12-06T03:17:22.933Z,__v: 0 }

  • OR 条件查询

function findAll() {stu.find({$or: [{name: '哎哎哎'},{classNo: '5c08944bfb6d6720cca60214'}]},function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}})
}

  • 模糊查询 (查询名字 带 的数据)

function findAll() {stu.find({name: /小/},function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}})
}

  • 找出名字 带 ,且只输出 name 字段 【注意】: _id字段默认输出

function findAll() {stu.find({name: /小/}, 'name' ,function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}})
}

  • 不带 _id ,可以进行如下设置

function findAll() {stu.find({name: /小/}, {'name': 1, _id: 0} ,function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}})
}

 

3. 常用查询条件

$or    或关系
$nor    或关系取反
$gt    大于
$gte    大于等于
$lt    小于
$lte    小于等于
$ne    不等于
$
in    在多个值范围内
$nin    不在多个值范围内
$all    匹配数组中多个值
$regex   正则,用于模糊查询
$size   匹配数组大小
$maxDistance 范围查询,距离(基于LBS)
$mod    取模运算
$near    邻域查询,查询附近的位置(基于LBS)
$exists   字段是否存在
$elemMatch 匹配内数组内的元素
$within   范围查询(基于LBS)
$box     范围查询,矩形范围(基于LBS)
$center   范围醒询,圆形范围(基于LBS)
$centerSphere 范围查询,球形范围(基于LBS)
$slice    查询字段集合中的元素(比如从第几个之后,第N到第M个元素

 

 

参考文档

  • https://segmentfault.com/a/1190000012095054

 

转:https://www.cnblogs.com/zyulike/p/10081325.html



推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文讨论了一个关于正则的困惑,即为什么一个函数会获取parent下所有的节点。同时提出了问题是否是正则表达式写错了。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • 这期内容当中小编将会给大家带来有关如何在php表单中使用正则表达式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文介绍了如何使用Python正则表达式匹配MATLAB的函数语法,包括多行匹配和跨行签名的处理方法。同时,作者还分享了自己遇到的问题和解决方案。 ... [详细]
  • 小程序wxs中的时间格式化以及格式化时间和date时间互转
    本文介绍了在小程序wxs中进行时间格式化操作的问题,并提供了解决方法。同时还介绍了格式化时间和date时间的互相转换的方法。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • ECMA262规定typeof操作符的返回值和instanceof的使用方法
    本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
  • 本文介绍了在Java中检查字符串是否仅包含数字的方法,包括使用正则表达式的示例代码,并提供了测试案例进行验证。同时还解释了Java中的字符转义序列的使用。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 巧用arguments在Javascript的函数中有个名为arguments的类数组对象。它看起来是那么的诡异而且名不经传,但众多的Javascript库都使用着它强大的功能。所 ... [详细]
  • python中使用正则表达式的步骤:1.导入re模块:importre2.初始化一个Regex对象:re.compile()3.刚刚创建的 ... [详细]
author-avatar
宝一一0702
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有