问题标签 [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.
javascript - 在 AngularJS 中返回一个值
我编写了一个查询数据库并应返回类别的角度服务:
当我在其中的 console.log 中function loadCategories()
返回一个包含 6 个对象(来自数据库的对象)的数组,但在函数之外它只给了我undefined
.
我通过控制器调用CategoriesService.loadCategories()
所以我想我可能不得不做一些所谓的事情,promise
但我不确定。
如何从该服务中获取实际数据?
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 的任何其他想法。
javascript - 带有投影语法错误的 NeDB 查询
我得到了一个简单的 NeDB 请求的语法。我为 Feathers/NeDB 编写的查询有什么问题?
谢谢
node.js - 使用 NeDB 从另一个文档(SQL 样式连接)引用一个文档
我在 NeDB 中有一堆文件,让我们说一下表格:
(所以一个“行动”引用一个“客户”)
我想做一些事情,比如列出所有操作以及他们的客户名称。显而易见的方法是:
但这很快就会变得痛苦。有没有更好的方法来做到这一点?就像是:
会很棒的。
这似乎是一件很常见的事情,但我似乎找不到任何关于这样做的信息。
谢谢!
node.js - 如果 nodejs 数据库超过 256MB,缓冲区 toSting 失败
我有一台使用nedb运行 nodejs 的服务器,一切都很好,直到 db 文件达到 256MB,nodejs 关闭并给我一个buffer toSting failed
. 我确实知道 256MB 是 V8 中字符串的限制,但我认为 nedb 根本不会处理它。那么如果 db 文件超过 256MB 我该怎么办,我该如何修复我的 db 文件呢?
mongodb - 在本地机器上同步 mongodb 的子集
我想将 a 的一个子集同步Mongodb
到我的本地机器上,该机器将有一个轻量级数据库,如NeDB
. 有什么方法可以查看两个数据库中的数据有什么区别,以便我只能检索已更改的数据?
node.js - 替换 NeDB 以实现一致的、复制的持久性 node.js 数据存储
我有一个 node.js 服务器应用程序,它在NeDB中存储它的数据(很小,如“几 kb”) 。我需要有多个具有同步数据的实例。由于 NeDB 不是为处理复制而设计的,因此我需要一个替代的持久数据存储。主要要求是实例之间的一致性。
MongoDB似乎是显而易见的选择,因为NeDB 实现了 MongoDB API 的子集,但是为了处理几千字节的数据而启动一个 Mongo 集群似乎是多余的。
什么是复制的、强一致的持久数据存储替代方案(对于几千字节的数据),最好使用与 NeDB 兼容的 API?
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 测试和部署到生产之间进行更改?
谢谢!
typescript - 如何获取应用程序使用 typescript 运行的路径?
我正在尝试使用 electron、angular2、typescript 和 neDB 创建一个桌面应用程序。为了能够使用 neDB 创建一个“文件”数据库,我想要我的项目的路径。如何使用 typescript 获得这个?
javascript - Electron 应用中的 NEDB 持久性
我正在尝试从电子应用程序连接到 nedb。CRUD 操作效果很好。但是我没有看到 db 文件(D:/my.db,检查了隐藏文件)。文件存在于某处,因为即使在机器重新启动后它也会保留数据。我怀疑电子威胁我的相对路径,但我可以在任何地方找到它。