问题标签 [nedb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
68 浏览

javascript - 无法将 NeDB 节点回调转换为 Bacon EventStream

下面的Node callbackonNeDB工作正常,

然后尝试转换NeDB Node callbackBacon EventStream

为什么它在下面失败了?

0 投票
1 回答
108 浏览

node.js - 无法更新数组内的元素

假设我有这个

首先我创建了用户,然后我将在用户创建应用程序时更新 applicationsInfo 部分。首先我尝试了这种方式并且它有效

但实际上我想要的是更新一些我以这种方式尝试过的选择。

然后我启动我的节点服务器然后我得到这样的错误。

0 投票
1 回答
5714 浏览

node.js - 我从 Node.js、Restify 和 Passport 收到 401 Unauthorized

即使我所有的控制台日志都在打印,我也会收到 401...

这是我的服务器代码:

以下是 package.json 中的依赖项:

这是我的注册测试代码:

这是触发 401 的测试代码:

这是服务器的输出:

0 投票
1 回答
227 浏览

node.js - 如何使用 node.js 发布页面

我刚刚开始学习node.js。在过去的两天里,我一直在从事一个接受用户输入并发布 ICS 文件的项目。我有所有的工作。现在考虑何时必须显示这些数据。我得到一个router.get看看我是否在/cal页面上并且..

因此,当/cal被请求时,它会遍历我的数据库并创建一个 ICS 日历ical。如果我console.log(ical.toString) 在循环中这样做,它会按照协议为我提供一个格式正确的日历。

但是,我想以此结束回复。最后,我res.send只是看看页面上发布了什么。这就是发布的内容

现在原因很明显了。它是 node.js 的本质。在回调函数完成将每个人添加VEVENT到日历对象之前,响应被发送到浏览器。

我有两个相关的问题:

1)什么是“等待”直到回调完成的正确方法。

2)如何使用作为内容res发送.ics 动态链接 ical.toString()。我需要为此创建一个新视图吗?

编辑:我想对于 2 号,我必须像这样设置 HTTP 标头

但是在使用视图时我该怎么做。

0 投票
0 回答
1097 浏览

angularjs - 测试服务时承诺未在业力中解决

我有一个用角度编写的服务“dbService”。

上面的代码从数据库(nedb)中获取数据。它只是 nedb api 的包装器,它返回一个承诺。

单元测试的想法是在不进行任何 xhr 或 db 调用的情况下测试逻辑。

就我而言,我该怎么做?

假设我们违反了上述关注点分离定律,我尝试过以下方式进行测试。

上面的代码没有解决这个承诺。

我已经尝试过,添加一个 afterEach 来执行 $rootScope.$apply();

在这种情况下,我收到此错误Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

至少在这种情况下,promise 正在得到解决。但是在该测试用例完成后它会被解决,这会导致测试用例失败。

任何想法,如何解决这个问题

解决方案:

我找到了解决方案。诀窍是在服务本身中使用 $rootScope.$apply() 。

并在测试中

0 投票
0 回答
54 浏览

javascript - 怀疑与 for 循环有关的 Javascript 异步问题

我有一个非常简单的节点脚本,它从外部 url 解析一个 json 文件。我试图让脚本循环遍历返回的每条记录,并决定将它添加到数据库(使用 nedb)如果我们以前没有得到它。目前,我下面的脚本似乎只处理 json 文件中的最后一条记录。

任何想法我做错了什么?谢谢!

0 投票
1 回答
223 浏览

node.js - 重构路由后的 Express.js db 模块

我在 node/express 中有一个简单的应用程序,在网上观看课程后,它帮助我重构了应用程序中的路线,但这样做后我发现了一个小问题。

问题是我的路由使用了一个名为“db”的变量,它是nedb访问点的一个实例。

当然,我可以复制每个路由文件顶部的 5 行代码来声明它,但这不会很干。

我试图把它放在一个单独的文件中并导出变量:

然后将其导入每个文件:

但这并没有按预期工作(错误是:找不到模块'./db')

这是我的文件的简化结构

解决这个问题的任何想法或最佳实践/优雅的方法?

谢谢你。

0 投票
2 回答
1338 浏览

node.js - 重新启动应用程序时,NEDB 正在清除文件内容

NodeWebKitApp在其中保存了用户的数据(如名称、uid 和设置)以供以后使用。我可以很好地插入一个文档,我可以看到它的内容。文件大小约为 2KB。

但是,如果我关闭应用程序然后重新打开它,保存的数据会丢失,并且我看到文件大小为 0 字节。

调试,我发现执行以下行时会出现这种行为:

我尝试调试nedb/persistance.js但无法解决问题。我也尝试通过调用手动加载数据库,loadDatabase(function(err) {})但没有成功。

这是一段代码:

0 投票
0 回答
833 浏览

node.js - Express.js 数据库和验证逻辑。在哪里?

没什么重要
的我在stackoverflow上的第一个问题。我多年来一直使用它来寻找答案,但现在我需要一些指导。我是 node 和 express 以及构建应用程序的异步方式的新手。

目标 - 带有验证和 neDB 数据库的 REST 接口
我得到了以下代码。POST 一个新用户是唯一的途径。它是基于许多答案和 tuts 混合在一起的。我发现很难搭建逻辑框架,以获得可以构建的结构。

我完全不确定这种结构是否是垃圾。任何意见,将不胜感激。

主文件正在初始化数据库、中间件验证器并启动应用程序。

数据库
这个问题/答案让我创建了带有改动的小型数据库模块。 你如何在 node express 应用程序中传递对象?
它没有太多关注。也许是因为它非常明显,或者可能不是一个好的答案。

这个想法是,当我获得多个集合时,它们都会在启动时被初始化,但如果这就是模块所需的全部,我可以请求一个集合,或者如果另一个模块需要,我可以取回整个 db 对象。

路由器
我在这里需要用户模型,并使用 express-validator 并在将请求传递给模型之前根据模型中的简约键模式对请求进行清理。我没有任何控制器。如果我有(或当我有),我会把验证放在那里。路由器应该发送响应和状态,对吗?

模型
模型需要数据库模块并获得“连接”。这个可以吗?

感谢您阅读本文。现在,我的问题是:关于数据库使用和验证逻辑,此设置是否存在根本性错误。我知道这个模型看起来很愚蠢:)

0 投票
2 回答
1221 浏览

javascript - 将数据从nodejs传递到nwjs中的角度的正确方法(node-webkit)

已解决:下面的代码现在适用于任何需要它的人。

  1. 创建一个查询数据库并返回查询结果的 Angular 工厂。
  2. 将这些查询结果传递到我的控制器的 $scope
  3. 在我的视图中渲染 $scope 变量的结果 (html)

挑战: 因为这是针对 node-webkit (nwjs) 应用程序,所以我尝试在不使用 express、设置 api 端点和使用 $http 服务返回查询结果的情况下执行此操作。我觉得应该有一种更雄辩的方式来做到这一点,将数据从 nodejs 直接传递到角度控制器。以下是我尝试过的,但没有奏效。

数据库: 以下代码用于 nedb 数据库。

更新的控制器

更新的工厂:

});

HTML