首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2021了,真的不要再说 Node.js 是一门编程语言了「建议收藏」

JavaScript 运行在 Node.js 控制操作系统级别的内容。 为什么浏览器 JavaScript 不能控制系统级别的 API ?...模块系统 2.1 模块概述 Node.js 环境,默认就支持模块系统,模块系统遵循 CommonJS 规范。...一个 JavaScript 文件就是一个模块,模块文件定义变量和函数默认只能在模块文件内部使用,如果需要在其他文件中使用,必须显式声明将其进行导出。.../logger") logger("Hello") 2.4 Module Wrapper Function Node.js 是如何实现模块为什么模块文件内部定义变量模块文件外部访问不到?...模块文件执行之前,模块文件代码会被包裹在模块包装函数当中,这样每个模块文件代码就都拥有了自己作用域,所以模块外部就不能访问模块内部成员了。

2.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

Mongoose 插件记录Node.js API日志

现在已经有了 npm 日志记录模块。这些模块可以将日志存储不同格式或级别的文件。我们将使用流行ORM Mongoose 讨论 Node.js Express 程序 API 日志记录。...那么如何创建一个 Mongoose 插件,以更清洁方式为你进行记录并简化 API 日志? Mongoose 插件是什么? Mongoose ,模式是可插入。...插件就像一个函数,你可以模式中使用它,并在模式实例上一次次地重用。 Mongoose 还提供全局插件,你可以将其用于所有模式。...CreatedBy:正在使用或调用 API 用户。 Message: 你可以在此处包含你想要显示任何类型消息,这些消息调试过程中有意义或有帮助。...如果当前对象 value 不等于前一个对象相同属性值:base[key] 如果值是对象本身,我们递归调用函数changes 直到它得到一个值,它最终将作为 result[key]=value 存储

2.7K40

MongoDB增删改查操作

创建集合 创建集合分为两步,-是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数实例即可创建集合。...实际在数据库中产生集合名为courses 2.创建文档 创建文档实际上就是向集合插入数据。 方法1 分为两步: ①创建集合实例。 ②调用实例对象下save方法将数据保存到数据库。...,将安装目录下bin目录放置环境变量。...返回文档集合(数组形式) [{    _id: 5c0917ed37ec9b03c07cf95f,    name: 'node.js基础',    author: 'xc-dh‘ },{    ...,例如文章信息和用户信息存储不同集合,但文章是某个用户发表 要查询文章所有信息包括发表用户,就需要用到集合关联。

6.5K20

MongoDB增删改查操作

1.创建集合 创建集合分为两步,-是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数实例即可创建集合。...// mongoose.Schema() 是一个构造函数,要new一个实例对象 //2、设定集合规则 const courseSchema = new mongoose.Schema({ name...,将安装目录下bin目录放置环境变量。...项目根目录下输入以下命令导入 mongoimport -d 数据库名称 -c 集合名称 --file 要导入数据文件 4.查询文档 find()方法 返回一组文档 // 根据条件查找文档(条件为则查找所有文档...,例如文章信息和用户信息存储不同集合,但文章是某个用户发表 要查询文章所有信息包括发表用户,就需要用到集合关联。

6.2K10

MongoDB增删改查操作

1.MongoDB增删改查操作 1.1 创建集合 创建集合分为两步,一是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数实例即可创建集合。...数据库所有操作都是异步操作 1.使用create方法创建文档 通过回调函数方法获取异步API // 向集合插入文档 Course.create({ name: 'JavaScript',...1.3 mongoDB数据库导入数据 找到mongodb数据库安装目录,将安装目录下bin目录放置环境变量。...更新 ? mongoose验证 创建集合规则时,可以设置当前字段验证规则,验证失败就则输入插入失败。...1.7 集合关联 通常不同集合数据之间是有关系,例如文章信息和用户信息存储不同集合,但文章是某个用户发表,要查询文章所有信息包括发表用户,就需要用到集合关联。

19.8K30

GraphQL 基础实践

在上面的 Schema ,后面紧跟着感叹号声明了此类型是个不可类型(Non-Nullable),参数声明表示参数不能传入为。...如果感叹号跟在 field 后面,则表示返回 type 数据时,此字段一定不为。 通过上面的类型定义,可以看到 GraphQL 类型系统起到了很重要角色。...如果我们某个字段返回不止一个标量类型数据,而是一组,则需要使用List类型声明,标量类型两边使用括号[]包围即可,与 JavaScript 数组写法相同,而且返回数据也将会是数组类型。...本例,定义了一个Basic接口,Song以及Video类型都要实现接口字段。然后search查询返回接口。 searchMedia查询返回一组Basic接口。...,指令跟在字段名使用。

12.8K20

RxDB 异常机制

关于序列化,有下面五点注意事项: 非数组对象属性不能保证以特定顺序出现在序列化字符串。 布尔值、数字、字符串包装对象序列化过程中会自动转换成对应原始值。...undefined、任意函数以及 symbol 值,序列化过程中会被忽略(出现在非数组对象属性值时)或者被转换成 null(出现在数组时)。...对象对象统一定义了 RxDB 所有异常信息: const CODES = { // util.js UT1: 'given name is no string or empty... newRxTypeError 函数内部,会调用 overwritable.tunnelErrorMessage(code) 方法,根据异常代码,找出对应异常信息(异常信息按照功能进行分类,定义... RxTypeError 构造函数内部,会对传入参数对象进行序列化处理,然后与 code 对应错误信息进行拼接,最终生成完整异常信息。

1.1K10

前端面试宝典 v1

call()方法第一个参数与apply()方法相同,但传递给函数参数必须列举出来。 58、简述一下JS闭包? 闭包用两个作用:读取函数内部变量值;让这些变量值始终保存着(在内存)。...JavaScript,this通常指向是我们正在执行函数本身,或者是,指向该函数所属对象。...归属于Stringstring slice() 方法可从已有的数组返回选定元素。方法并不会修改数组,而是返回一个子数组。...执行say667(),say667()闭包内部变量会存在,而闭包内部函数内部变量不会存在.使得Javascript垃圾回收机制GC不会收回say667()所占用资源,因为say667()内部函数执行需要依赖...1、创建一个对象,并且 this 变量引用对象,同时还继承了该函数原型。 2、属性和方法被加入到 this 引用对象

2.3K41

JavaScript 10 个需要掌握基础问题

1.如何从数组移除一个特定 思路:首先,使用indexOf查找要删除数组元素索引(index),然后使用splice方法删除索引所对应。...JavaScript 每个函数都维护对其外部词法环境引用。此引用用于配置调用函数时创建执行上下文。不管何时调用函数引用使函数代码能够查看在函数外声明变量。...JavaScript,如果在另一个函数声明一个函数,那么外部函数本地变量返回仍然可以访问。这样,在上面的代码,secret在从foo返回仍然对函数对象内部可用。...从一个函数内部返回另一个函数是闭包经典例子,因为外部函数内部状态对于返回内部函数是隐式可用,即使外部函数已经完成执行。 只要在函数内使用eval(),就会使用一个闭包。...词法环境是所有名称映射(例如,变量,参数)及其范围内值。因此,只要看到function关键字,函数内部代码就可以访问函数外部声明变量。

2.7K20

Nodejs学习笔记(十四)— Mongoose介绍和入门

简介   Mongoosenode.js异步环境下对mongodb进行便捷操作对象模型工具   那么要使用它,首先你得装上node.js和mongodb,关于mongodb安装和操作介绍可以参考...mongoose安装 npm install mongoose   安装成功如下图: ?   安装成功,就可以通过 require('mongoose') 来使用!...  $nin           不在多个值范围内   $all            匹配数组多个值   $regex  正则,用于模糊查询   $size   匹配数组大小   $maxDistance...,分页原理用过其它数据库都知道,分页用到函数和mysql比较类似   上面我用到sort(),这个是排序规则,就不单讲了!...mongoose操作基本入门大致就是这些,自已试一下,入门完全没问题,并且比node-mongodb-native还是要简单明了一些,   node.js操作数据库,如果逻辑相对复杂时,大量回调嵌套还是比较郁闷

2.6K60

Node.js 开发者需要知道 13 个常用库

有用库可以缩短开发时间,并为您网页应用程序带来多种优势,例如更快加载时间和减小应用程序包大小。 选择库时,应考虑应用程序复杂性、支持社区、更新频率以及其文档质量。...https://nodemailer.com/about/ 4、Passport:Node.js灵活认证中间件 Node.js开发,认证是一基础且重要功能。...https://www.npmjs.com/package/winston 7、MongooseNode.js数据模型大师 Node.js世界里,处理数据库是一基本技能。...https://github.com/expressjs/multer 13、Dotenv:保护Node.js应用配置利器 Node.js开发,管理应用环境变量是一基本且重要任务。...本文将介绍几个未来应用开发可能成为“必备”Node.js库。例如,如果你项目中大量使用MongoDB数据库,那么Mongoose库对你来说可能是个救星。

56221

50道JavaScript详解面试题,你需要了解一下

20、创建字符串,我们可以修改它吗? 不可以,因为字符串JavaScript是不可变,指向字符串变量可以分配给另一个字符串。 21、承诺链嵌套捕获可以捕获承诺链向上抛出错误吗?...控制台输出将为'Mohit',因为内部函数有权访问在外部作用域中声明变量。 27、函数引用自身进行递归三种方式是什么?...但是,可以JavaScript通过未将所有可能参数都传递给函数时返回不同输出来执行重载。 29、return语句在数组forEach循环中做什么?...控制台输出将为10和5,因为该函数Promise没有异步内容,并且Promise同步解析。 32、浏览器下一次重画显示内容之前,哪个函数会执行指定代码块?...它返回h,因为数组JavaScript是从零开始,因此arr [2] [1]将可以访问外部数组第3个元素和内部数组第2个元素,从而得出值“ h”。

3.5K40

数据库概述及环境搭建

数据库概述及环境搭建 1.1 为什么要使用数据库 动态网站数据都是存储在数据库 数据库可以用来持久存储客户端通过表单收集用户信息 数据库软件本身可以对数据进行高效管理 http...1.5 数据库相关概念 一个数据库软件可以包含多个数据仓库,每个数据仓库可以包含多个数据集合,每个数据集合可以包含多条文档(具体数据)。...术语 解释说明 database 数据库,mongoDB数据库软件可以建立多个数据库 collection 集合,一组数据集合,可以理解为JavaScript数组 document 文档,一条具体数据...,可以理解为JavaScript对象 field 字段,文档属性名称,可以理解为JavaScript对象属性 1.6 Mongoose第三方包 使用Node.js操作MongoDB数据库需要依赖...Node.js第三方包mongoose 使用npm install mongoose命令下载 1.7 启动MongoDB 命令行工具运行net start mongoDB即可启动MongoDB,否则

1.7K40

React与Redux开发实例精解

、开发工具、社区和生态系统 二、Node.js运行React 1.Require Hook是Babel一个内建工具,用于测试环境下编译运行Node.js程序 三、浏览器运行React 1.一个...,如font-size为fontSize 4.注释写在{}内 5.数组会自动展开所有成员,但是如果数组或迭代器每一都是HTML标签或组件,那么它们必须要拥有唯一key属性 6.React可以渲染...显式意思是,函数与外界交换数据只有一个唯一渠道——参数和返回值;函数函数外部接受所有输入信息都通过参数传递到该函数内部函数输出到函数外部所有信息都通过返回值传递到该函数外部 3.纯函数不能访问外部变量...(这里this指的是组件实例) 2.理想状态下,程序所有数据都应该放在Redux全局状态 3.如果一些状态只一个组件内部临时使用,也可以使用组件内部状态 十五、React与Redux数组处理...4.map()方法返回一个由原数组每个元素调用一个指定方法返回值组成数组 5.every()方法用于测试数组中所有元素是否都通过了指定函数测试 6.some()方法用于测试数组是否至少有一元素通过了指定函数测试

2.1K20

Node.jsMongoDB

集合(collection):集合类似于数组集合可以存放文档。 文档(document):文档数据库最小单位,我们存储和操作内容都是文档。...mongoDB基本指令 show dbs: 显示当前所有的数据库 use 数据库名 ":进入到指定数据库 db :显示当前所在数据库 show collections:显示数据库所有集合...为Html5文档,添加一个classes:{base:["h6+c3","js","jQuery", "abc"] , core:["三大框架","node.js"]} //MongoDB文档属性值也可以是一个文档.../12.向name为Html5文档,添加一个新核心课程 "微信小程序" //$push 用于向数组添加一个新元素 //$addToSet 向数组添加一个新元素 , 如果数组已经存在了元素...监听MongoDB数据库连接状态:mongoose对象,有一个属性叫做connection,对象表示就是数据库连接, 通过监视对象状态,可以来监听数据库连接与断开 mongoose.connection.once

5.2K40

期待已久 JS 原生 groupBy() 分组函数即将到来

处理数组时,有时我们需要将其中项目按照某个特定属性或条件进行分类或分组。这个过程可能会多次重复,每次都需要编写分组函数或使用像 lodash 这样 groupBy 函数来完成。...peopleByAge[age].push(person); }); // 打印结果,显示按年龄分组对象 console.log(peopleByAge); /* { "28": [{...(person); // 返回更新累加器对象 return acc; }, {}); // 初始累加器为对象 // 执行完reduce,peopleByAge对象包含按年龄分组结果...具体来说,代码需要不断检查对象是否已经存在与年龄对应键,如果不存在则创建一个数组,并将当前个人对象推入数组。...由于这些方法已经 Chrome 实现,这意味着它们已经存在于 Chrome 使用 JavaScript 引擎 V8 ,所以在下一次 V8 引擎更新,这些方法将变得 Node.js 可用。

44720

大数据技术之_22_MongoDB学习_MongoDB 简介、下载、安装、启动、配置和关闭 + MongoDB 基本操作 + Mongoose + 使用 java 对 MongoDB 增删改查

集合(collection):集合类似于数组集合可以存放文档。 文档(document):文档是数据库中最小单位,我们存储和操作内容都是文档。...// $push 用于向数组添加一个新元素(即可以重复添加) // $addToSet 向数组添加一个新元素,如果数组已经存在了元素,则不会添加(即不可以重复添加) db.users.update...(升序) //sort() 可以用来指定文档排序规则,sort() 需要传递一个对象来指定排序规则,1 表示升序显示字段数据;-1 表示降序显示字段数据,0 表示不显示字段数据。...4、监听数据库连接状态(一般不需要调用)    Mongoose 对象中有一个属性叫做 connection,对象表示就是数据库连接,通过监视对象状态。可以监听数据库连接与断开。   ...}); var Schema = mongoose.Schema;  // 注意:Schema 变量名使用大写,表示构造函数

17.7K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券