问题标签 [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 投票
2 回答
81 浏览

javascript - 在 AngularJS 中返回一个值

我编写了一个查询数据库并应返回类别的角度服务:

当我在其中的 console.log 中function loadCategories()返回一个包含 6 个对象(来自数据库的对象)的数组,但在函数之外它只给了我undefined.

我通过控制器调用CategoriesService.loadCategories()

所以我想我可能不得不做一些所谓的事情,promise但我不确定。

如何从该服务中获取实际数据?

0 投票
1 回答
1685 浏览

json - 访问 nedb 结果

问题是:如何访问从 nedb 'find' 命令返回的多个文档。

了解我在 nodejs 中使用 nedb 获得的一些见解。

关于通过 nedb find 和访问键值对返回的文档:认为这会起作用:docs.current.temp_f 但它没有。这有效: docs[0].current.temp_f 确实有效。

背景和细节:我是JavaScript,nodejs,nedb的新手,从未使用过mongodb,但了解nedb有类似的API。

我发帖的原因是:我经常使用这个网站,但找不到我的问题的答案。我终于自己弄清楚了,并将其发布在这里,以便我可以回馈社区。

我正在使用他们的 API 访问 Wunderground。效果很好。然后我使用 nedb API 的“插入”命令将结果推送到 nedb。这里和其他地方有多个可用的示例。

使用 nedb API 的 find 命令,我能够检索我的数据。我可以使用 console.log() 将其打印出来。同样,这里和其他地方有多个示例。

Wunderground 返回一个 JSON 对象(如果以这种格式请求),格式为 {response:{...some data}, current_observation:{...some data...temp_f...some more data}},它可以插入 nedb 数据库。

使用 nedb API 'find' 命令(例如,

db.find({},function(err,docs) {console.log(docs);} 我能够打印出我的数据。但我的愿望是只获得一些键:值对,而不是整个结构。我认为像docs.current_observation.temp_f这样的东西可以解决问题,但这总是“未定义”并导致错误。

我不明白,因为我是这个领域的新手,所以nedb 正在返回一组数据;在这种情况下是一组 JSON 对象,因为我插入的是 JSON 对象。我从未在 nedb 的 npmjs.com 网站上的任何地方看到过这个。所以我想提醒像我这样缺乏这方面知识的人。

以下是最终获得 key:value 信息的方法: console.log("temp_f: ", docs[0].current_observation.temp_f);
我在哪里访问数组元素 0。

当然,这可能会以类似 for/in 循环的形式结束。

如果您知道的话,我很想看到有关从返回的结果集中检索 key:values 的任何其他想法。

0 投票
1 回答
294 浏览

javascript - 带有投影语法错误的 NeDB 查询

我得到了一个简单的 NeDB 请求的语法。我为 Feathers/NeDB 编写的查询有什么问题?

谢谢

0 投票
0 回答
774 浏览

node.js - 使用 NeDB 从另一个文档(SQL 样式连接)引用一个文档

我在 NeDB 中有一堆文件,让我们说一下表格:

(所以一个“行动”引用一个“客户”)

我想做一些事情,比如列出所有操作以及他们的客户名称。显而易见的方法是:

但这很快就会变得痛苦。有没有更好的方法来做到这一点?就像是:

会很棒的。

这似乎是一件很常见的事情,但我似乎找不到任何关于这样做的信息。

谢谢!

0 投票
0 回答
171 浏览

node.js - 如果 nodejs 数据库超过 256MB,缓冲区 toSting 失败

我有一台使用nedb运行 nodejs 的服务器,一切都很好,直到 db 文件达到 256MB,nodejs 关闭并给我一个buffer toSting failed. 我确实知道 256MB 是 V8 中字符串的限制,但我认为 nedb 根本不会处理它。那么如果 db 文件超过 256MB 我该怎么办,我该如何修复我的 db 文件呢?

0 投票
0 回答
97 浏览

mongodb - 在本地机器上同步 mongodb 的子集

我想将 a 的一个子集同步Mongodb到我的本地机器上,该机器将有一个轻量级数据库,如NeDB. 有什么方法可以查看两个数据库中的数据有什么区别,以便我只能检索已更改的数据?

0 投票
1 回答
763 浏览

node.js - 替换 NeDB 以实现一致的、复制的持久性 node.js 数据存储

我有一个 node.js 服务器应用程序,它在NeDB中存储它的数据(很小,如“几 kb”) 。我需要有多个具有同步数据的实例。由于 NeDB 不是为处理复制而设计的,因此我需要一个替代的持久数据存储。主要要求是实例之间的一致性。

MongoDB似乎是显而易见的选择,因为NeDB 实现了 MongoDB API 的子集,但是为了处理几千字节的数据而启动一个 Mongo 集群似乎是多余的。

什么是复制的、强一致的持久数据存储替代方案(对于几千字节的数据),最好使用与 NeDB 兼容的 API?

0 投票
1 回答
771 浏览

node.js - nodejs:导致问题的 nedb 文件名路径;怎么修?

我是一位经验丰富的程序员,但对 nodejs、nedb、Mocha 比较陌生。

nedb 是一个用于小数据使用的 nodejs npm 模块,它复制了 Mongodb 中使用的一些接口。我选择它是因为我正在构建一个在 Beaglebone Black 或 Raspberry Pi 上运行的应用程序,并且不希望 Mongodb 的开销满足我的小数据需求。

但是,我遇到了 nedb 文件名的路径部分的问题。如果我正在处理的 myapp.js 在当前路径的本地调用它工作正常,但如果我从不同的目录调用它,比如我的 Mocha 测试目录,那么 nedb 将无法使用相同的路径。它也不适用于相对路径;我必须指定完整路径,从 /home 开始,然后才能从 Mocha 测试目录中运行它。不用说,这既不方便,又不适合生产,因为它不是在生产中以 /home 为基础运行的。

在下面的代码中,myapp.js 是我正在开发和测试的应用程序。为了简单起见,useMyapp.js 是使用 myapp.js 的实用程序测试。这些都在同一个目录中,并且在我调用 useMyapp.js 时可以正常工作。

myapp.js 位于 /home/geek/project/public/javascripts/

这是 myapp.js 的代码:

useMyapp.js 位于 /home/geek/project/public/javascripts/ 的同一目录中

这是 useMyapp.js 的代码,它可以正常工作,输出预期的 nedb 记录。

我将useMyapp.js复制到我的Mocha测试目录,将其重命名为TestUseMyapp.js,进入/home/geek/project/test/我调整了myapp.js相对路径的require语句这是TestUseMyapp.js在/中的内容主页/极客/项目/测试/

通过 nodejs 运行它的输出是一个空数据集:docs found: []

问题:TestUseMyapp.js 能够根据 'require' 语句找到并加载 myapp.js,但是当从不同的目录调用 myapp.js 时,nedb 的文件名参数不起作用。这导致我在开发、Mocha 测试和生产运行之间出现问题,因为文件路径都不同。

我创建了 myapp.js 的副本,将其命名为 myapp2.js,并将其保存在与 myapp.js 相同的目录中 /home/geek/project/public/javascripts。在此,我更改了 nedb 文件名参数的路径。这是 myapp2.js 中的代码请注意,唯一的更改是文件名参数路径:

当我使用完整路径对 myapp2.js 调用测试时,这按预期工作。

问题:如何解决 nedb 的文件名路径问题,这样我就不必在开发、Mocha 测试和部署到生产之间进行更改?

谢谢!

0 投票
5 回答
51179 浏览

typescript - 如何获取应用程序使用 typescript 运行的路径?

我正在尝试使用 electron、angular2、typescript 和 neDB 创建一个桌面应用程序。为了能够使用 neDB 创建一个“文件”数据库,我想要我的项目的路径。如何使用 typescript 获得这个?

0 投票
2 回答
3470 浏览

javascript - Electron 应用中的 NEDB 持久性

我正在尝试从电子应用程序连接到 nedb。CRUD 操作效果很好。但是我没有看到 db 文件(D:/my.db,检查了隐藏文件)。文件存在于某处,因为即使在机器重新启动后它也会保留数据。我怀疑电子威胁我的相对路径,但我可以在任何地方找到它。