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

Node.jsMongoDB

为Html5文档,添加一个classes:{base:["h6+c3","js","jQuery", "abc"] , core:["三大框架","node.js"]} //MongoDB文档属性值也可以是一个文档..."jQuery", "abc"], core:["三大框架","node.js"]}}}); db.colleges.find(); //11.查询有核心课程为 三大框架 文档 //MongoDB支持直接通过内嵌文档属性进行查询...有时候我们只需要一个文档部分数据, 这时候就得通过映射在查询时, 可以在第二个参数来设置查询结果投影 db.section.find({}, {name: 1, _id: 0, wages: 1...("open",function(){}); mongoose.connection.once("close",function(){}); Node.js使用mongoose链接数据库示例 // 1...err) { console.log("插入成功") } else { throw err; } }); 运行结果 插入结果 Node.js

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

Node.js ObjectWrap 弱引用问题

前言:最近在写 Node.js Addon 过程,遇到了一个问题,然后发现是 ObjectWrap 弱引用导致,本文介绍一下具体问题和排查过程,以及 ObjectWrap 使用问题。...virtual void Ref() { persistent().ClearWeak(); refs_++; } 回过头来看看 Node.js 另一个类似功能类 BaseObject...所以在 Node.js C++ 模块里,我们也看不到主动调用 Ref 代码。这或许是使用 ObjectWrap 时需要注意问题。...总结:大致分析了 ObjectWrap 相关这个问题,但是其实排查过程比描述繁琐和困难,主要是一开始没有用 debug 版本 Node.js 进行调试,把排查聚焦在打快照地方了,因为那里涉及了多线程操作同一个...总的来说,如果碰到 Node.js 诡异一些问题,不妨打个 debug 版本 Node.js 进行调试,可能会更快地找到问题,从中也能学到很多东西。

1.9K20

Node.js HTTP 模块内存泄露问题

很久没有逛社区了,晚上回来看了一下最近情况,突然看到一个内存泄露问题,作为一个 APM 开发者,自然想分析其中原因。 问题 下面介绍一下具体问题。看一下 demo。...v20.3.1 下执行上面代码(node --expose-gc demo.js)输出如下。...有一个关键变量 connectionsCheckingInterval,到 Node.js 源码里看一下,最终发现是 Server 初始化时创建。...if (socket) { onRequestTimeout(socket); } } } 可以看到,setupConnectionsTracking 是追踪连接超时,回到我们测试例子可以发现...总结 这个例子虽然看起来有点不常见,用法也很怪异,但是从侧面说明了虽然 JS 自带 GC,但是因为逻辑 / 引用关系复杂,还是很容易出现内存泄露问题,所以写代码时还是需要注意,具体 issue 可以参考

19830

Node.js内存泄漏分析

但是,即便有了 GC 机制可以自动释放,但这并不意味这内存泄漏问题不存在了。内存泄漏依旧是开发者们不能绕过一个问题,今天让我们来了解如何分析 Node.js 内存泄漏。...GC in Node.js Node.js 使用 V8 作为 JavaScript 执行引擎,所以讨论 Node.js GC 情况就等于在讨论 V8 GC。...例如,Node.js Agent keepAlive 为 true 时,可能造成内存泄漏。...原理上与前一个添加事件监听时候忘了清除是一样。在使用 Node.js http 模块时,不通过 keepAlive 复用是没有问题,复用了以后就会可能产生内存泄漏。...使用 heapdump 保存内存快照时,只会有 Node.js 环境对象,不会受到干扰(如果使用 node-inspector 的话,快照中会有前端变量干扰)。

3.6K50

Node.js 子线程 crash 问题排查

前言:昨天碰到了一个 worker_threads crash 问题,最终经过阅读源码和调试找到了具体原因。不得不说,阅读源码是解决问题非常有效方法。 代码例子如下。...首先分析下上面代码过程,当在 JS 层执行 start 时候,就会往 loop 里面插入一个任务,并通过 AddEnvironmentCleanupHook 注册了一个回调,这个回调在线程退出时会被执行...问题发生在执行 uv_close 回调时出现了 crash。...出现这个问题时,我就开始调试,尝试找出哪里修改了这个地址,但是无果,最终靠灵光一现,想到了动态链接库被卸载问题,然后通过打断点发现果然如此。 下面通过 Node.js 源码来分析这个问题。...接着 FreeEnvironment 删除了 env 对象,接下来看 env 析构函数相关代码。 if (!

66910

Node.js 异步迭代器

翻译:疯狂技术宅 作者:János Kubisch 来源:risingstack ? 从 Node.js v10.0.0 开始,异步迭代器就出现中了,最近它们在社区吸引力越来越大。...在本文中,我们将讨论异步迭代器作用,还将解决它们可能用于什么目的问题。 什么是异步迭代器 那么什么是异步迭代器?它们实际上是以前可用迭代器异步版本。...调用有分页功能 API 你还可以用异步迭代从使用分页轻松获取数据。为此,我们还需要一种从 Node https 请求方法提供给我们重构响应主体方法。...也可以在这里使用异步迭代器,因为 https 请求和响应是 Node 流: const https = require('https'); function homebrewFetch(url)...原文链接 https://blog.risingstack.com/async-iterators-in-node-js/

1.7K40

理解 Node.js Worker Threads

当一个 Node.js 应用启动同时,它会启动如下模块: 一个进程 一个线程 事件循环机制 JS 引擎实例 Node.js 实例 一个进程:process 对象是一个全局变量,可在 Node.js...一个 JS 引擎实例:即一个可以运行 JavaScript 代码程序。 一个 Node.js 实例:即一个可以运行 Node.js 环境程序。...单线程下 Node.js: 一个进程 一个线程 一个事件循环 一个 JS 引擎实例 一个 Node.js 实例 多线程 Workers 下 Node.js 拥有: 一个进程 多个线程 每个线程都拥有独立事件循环...我们希望这些分配资源能够嵌入到 Node.js ,让 Node.js 有创建线程能力,并且在线程创建一个新 Node.js 实例,本质上就像是在同一个进程运行多个独立线程。...不要认为创建 Worker 进程开销是很低。 最后 Chrome devTools 支持 Node.js Workers 线程特性。

1.7K40

深入浅析Node.js异步

Node.js 非阻塞 I/O I/O 即 Input/Output,一个系统输入和输出。 阻塞 I/O 和非阻塞 I/O 区别就在于系统接收输入再到输出期间,能不能接收其他输入。...而 Node.js 它是用来操纵计算机,一些如读取文件之类操作是非常耗时,要是不能进行其它 I/O,那么处理效率就很会很低了,这也是 Node.js 是非阻塞型 I/O 一个原因。...Node.js 事件循环 Node.js 启动时候会初始化由 libuv 提供事件循环,每次事件循环都包含6个阶段,这6个阶段会在每一次事件循环当中按照下图当中顺序反复执行,如下图: image.png...npm:async.js;可以通过 async.js 来控制异步流程 thunk:一种编程方式 Node.js 异步编程 – Promise 可以通过字面意思理解,Promise 是承诺意思;当前事件循环得不到结果...Node.js 事件循环在 Node11 版本及之后是和浏览器事件循环运行一致,要注意区分。 Node.js 异步编程规范是第一个参数是 error,后面的才是结果。

1.2K30

解析Node.js Stream(流)

流(Stream)是驱动 Node.js 应用基础概念之一。它是数据处理方法,用于按顺序将输入读写到输出。 流是一种处理读写文件、网络通信或任何端到端信息交换有效方式。...在 Node.js ,通过使用流将数据从其他更小代码段中导入或导出,可以组成功能强大代码段。...转换流: 可以在数据写入和读取时修改或转换数据流。例如,在文件压缩操作,可以向文件写入压缩数据,并从文件读取解压数据。 如果你用过 Node.js,可能已经遇到过流了。...当前最佳实践是始终将异步函数内容封装在 try/catch 块并处理错误,但这很容易出错。这个 pull request就是为了解决这个问题,如果能加入到 Node 核心代码的话。...Stream 模块 Node.js stream 模块 是构建所有流 API 基础。 Stream 模块是 Node.js 默认提供内建模块。

2.5K30

Node.js进程与线程

它被包含在进程之中,是进程实际运作单位。 2. Node.js单线程 Node特点主线程是单线程 一个进程只开一个主线程,基于事件驱动、异步非阻塞I/O,可以应用于高并发场景。...Nodejs没有多线程,为了充分利用多核cpu,可以使用子进程实现内核负载均衡,那我们就要解决以下问题Node.js 做耗时计算时候阻塞问题Node.js如何开启多进程。...开启进程 Node.js 进程创建,是通过child_process模块实现: child_process.spawn() 异步生成子进程。...child_process.fork() 产生一个新Node.js进程,并使用建立IPC通信通道调用指定模块,该通道允许在父级和子级之间发送消息。...5. cluster Node.js单个实例在单个线程运行。为了利用多核系统,用户有时会希望启动Node.js进程集群来处理负载。自己通过进程来实现集群。

1.2K20

Node.js】1430- 15 个常见 Node.js 面试问题及答案

为帮助 Node.js 开发人员更好面试,我列出了 15 个常见 Node.js 和网络开发相关面试问题。 在本文中,我们将重点讨论 Node.js 相关问题。...但是,请记住 JavaScript 问题Node.js 面试也经常问到,所以准备一些对你来说没什么坏处。不久前我们写了一篇关于常见 JavaScript 面试问题帖子,涵盖了所有这些基础。...Node.js 任何对象发出事件都是 EventEmitter 类实例,就像 http 模块。...如何处理 Node.js 未捕获异常? 我们可以在进程级别捕获应用程序未捕获异常。...结论 在本文中,讨论了 15 个最常见 Node.js 面试问题,帮助你为下一次面试做准备。知道你可能被问到问题和答案,面试就不再紧张了。 祝你好运,面试成功!

1.7K20

JSthis指向问题

this指向问题 this应该是第一个让人对JavaScript困惑问题了,但是实际上它原理非常简单:函数this在运行时绑定。 什么叫运行时绑定?...那可就大错特错了,可千万别忘了光函数调用方法就有两种:直接调和new一个,而能做这两个操作地方可以说非常多,所以还需要往下看。 注意:以下例子均为严格模式下运行,非严格模式这里不做考虑。...先问自己:谁调用它?你应该一下看不出来,这明明就是直接调啊!可能有的基础比较扎实的人会说是window,那真是非常恭喜你了,但你要注意是以上代码在严格模式下是undefined。...正解:brother call / bind / apply 此为3种干预this指向操作,限于篇幅不展开讲。...箭头函数 箭头函数可以让你省很多事,因为它this一般来说都是符合你直觉:它this就是定义时候this。

94230

node.jsnode.js安装和配置

文章目录 前言 下载和安装 Path环境变量 测试 推荐插件 总结 ---- 前言 Node.js是一个在服务器端可以解析和执行JavaScript代码运行环境,也可以说是一个运行时平台,仍然使用JavaScript...---- 下载和安装 Node.js官方网址是https://nodejs.org,进入官方网址,可以看到两个版本安装包,LTS是长期稳定版,Current是最新版。...进入Path,就可以看到Nodejs环境变量啦 测试 接下来,我们进行一个测试,创建一个1.js文件,输入console.log("Hello World!")并保存。...找到文件保存路径,在路径框输入cmd,单击回车,会直接进入该文件夹。接着输入node 1.js,终端成功输出“Hello World!”...推荐插件 这里推荐一个可以快速运行node插件,快速运行调试代码——code runner。 运行代码:使用快捷键Ctrl+Alt+N,或者按F1然后选择Run Code。

8.9K30
领券