问题标签 [tingodb]

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 回答
2258 浏览

node.js - NeDB 的 CRUD API 是否与 MongoDB 兼容?

我正在寻找 MongoDB API 兼容的数据库引擎,它不需要完整的mongod进程来运行(一种用于节点的 SQLite)。

从多个使用类似 API 将数据持久存储在本地磁盘上的候选者最终得到两个:

问题

  • 我没有和他们一起工作过。
  • 我对MongoDB的API也很陌生,所以很难判断可比性。

要求

我需要你的帮助/建议,只选择一个满足的图书馆

  • 它足够稳定。
  • 处理磁盘上约 1Mb 或更大的 JSON 文档非常快。
  • 我希望将来能够切换到 MongoDB 作为数据后端,或者通过更改配置文件来按需切换。我不想重复代码。

DB初始化api不同

现在只有tingodb声称 API 兼容性。甚至初始化看起来也非常相似。

廷哥德

对比

mongodb

NeDB的情况下,它看起来有点不同,因为它使用数据存储抽象:

问题

不知不觉初始化是不兼容的。但是 CRUD 呢?采用它有多难?

由于我不想复制的大部分代码都是 CRUD 操作,所以我需要知道它们有多相似,即我的代码对于我拥有哪个后端这一事实有多不可知论。

我将感谢您对这个选择的洞察力!


另见:

0 投票
1 回答
874 浏览

node.js - 当对象存在时,Mongoose findById 为第一个对象返回 null

Mongoose 为 DB 中的第一个对象 _ID 0 返回 null,即使它存在。我可以使用类似的代码很好地检索第一篇文章,但我无法检索第一个标签。我可以检索我的所有数据,但第一个标签(第一个帖子的 tag1 除外)。如果我添加带有标签的第二个帖子:tag4、tag5 和 tag6,我可以检索第二个帖子的所有数据,包括 tag4。如果我在稍后的帖子中指向 tag1,则无法检索它。

我做了一些搜索,知道返回 null 意味着找不到记录。除了 findById 之外,我还尝试使用 find 和 findOne 并获得相同的结果。如果记录存在,我无法弄清楚我哪里出错了。我确信可能有更好的方法来做到这一点。

谢谢您的帮助。

我正在使用 mongoose、mongoose-simpledb 和 tungus 和 node-webkit。

保存标签:

查找标签:

或者,如果我使用以下 tag2 而不是应该返回的 tag1 ,则返回。

标签 模型

标签数据库

使用标签数据库上的查找:

如果我更改这些查找函数以查找除第一个标记之外的任何标记,则会返回正确的信息。

0 投票
1 回答
217 浏览

javascript - 角度控制器不显示来自 JSON 的数据

我在 Node Webkit 中使用 Angular 和 TingoDB (Mongo) 来实现单页应用程序。但是我有一个奇怪的问题,我一直无法解决。

当我使用对象文字(选项 2)时,数据在 html 页面中正确显示。但是,更改代码以从数据库返回数据(选项 1)结果不会出现在 html 页面上。我已将两种样式的数据转换为 JSON 字符串以证明一致性,然后使用 angular.fromJSON 返回一个对象。两种方法都在 console.log 中返回相同的 JSON 字符串,在有人问我之前,我已将选项 1 或选项 2 注释掉,因此两者都不会同时运行。

我已将基于从 TingoDB 传递的数据的 JSON 字符串复制到 console.log 中,并将其重新输入到下面的代码中,以确保在不更改任何其他代码的情况下,两个版本的数据之间不存在差异,但问题仍然存在持续存在。

任何人都可以阐明为什么会发生这种情况以及如何解决它?

和 HTML

0 投票
1 回答
528 浏览

node.js - 用数据填充 TingoDB 以进行验收测试

我有使用 MongoDB 作为数据库的 NodeJS 应用程序。我正在使用本机 mongo 驱动程序(不是 mongoess)。

该应用程序允许用户处理项目并共享它们,并且决定允许用户查看哪些项目的逻辑构建为 mongo 标准选择器。

为了测试,我发现TingoDB看起来像是模拟 MongoDB 以运行真实模型代码并检查它是否正常工作的绝佳候选者。

我的问题是加载初始数据的最佳方式是什么?将其保存在单独的文件中?保留它作为另一个模型?

谢谢你,伊多。

0 投票
0 回答
1046 浏览

openwrt - 如何在 Deployd 中使用 TingoDB 而不是 MongoDB?

我们想在运行 OpenWRT 的自制设备上使用部署。由于 MongoDB 需要太多内存,我们想使用 TingoDB 代替 MongoDB。如何配置 Deployd 这样做?非常感谢!

0 投票
0 回答
150 浏览

meteor - 在开发和生产模式下在 Meteor 应用程序中使用 TingoDB

我正在尝试在我编写的 Meteor 应用程序中使用 TingoDB 而不是 MongoDB,以便于部署。

我一直在看这里给出的答案Meteor without mongo

然而,事实证明这并不容易。一方面,我非常想在我的开发环境中尝试使用(和调试)TingoDB,而不是捆绑的“生产”环境。希望当我将它捆绑用于生产时,也会包含新的“mongo-livedata.js”。

到目前为止,我最大的问题是我不知道(我已经尝试过追踪和探索 Meteor)魔鬼 Meteor 在哪里获得了“正确的” mongo-livedata.js 包。我希望能够以某种方式“覆盖”所说的包,这样我就可以安全地“破解”它,并且只用于我需要它的单个应用程序。到目前为止,Meteor 为开发加载它的地方让我非常难以理解。更不用说对于这个应用程序我如何安全地覆盖它了。

这是 Meteor 1.1.02——我正在开发的平台是 Mac OS X,但我认为这并没有太大的不同。

蒂亚!

更新:使用 demeteorizer 现在找到了有问题的文件(mongo.js)和类似的代码。然而,切换到 TingoDB 现在已经使应用程序对数据更改无反应,这也是我最初使用 Meteor 的原因。不知道为什么它不再是被动的。:(

0 投票
1 回答
434 浏览

node.js - 在没有 MongoDB 的情况下运行 KeystoneJS 的问题

我想尝试在没有 MongoDB 的情况下运行 KeystoneJS。

有一篇简短的博客文章解释了如何在http://ifrederik.com/blog/2014/11/cms-without-db-running-keystonejs-without-mongodb/

基本上,它解释了如何用 TingoDB 替换 MondgoDB 并使用 Tungus 驱动程序。

建议是将以下内容放入keystone.js文件顶部

稍后将 mongo 数据库 url 设置为 TingoDB。

通过这样做,我启动并运行了 KeystoneJS。通过检查 TingoDB 中数据/用户文件的内容,我什至可以看到默认用户已创建,但我无法登录。它总是报告用户名/密码组合不正确。

我错过了什么?如何调试问题以找出这里的问题到底是什么?

0 投票
2 回答
1394 浏览

node.js - 在对象 ids 数组中查找对象 id 使用 Mongoose 返回空数组

我有两个猫鼬模式:

我正在尝试使用我发送到 http 请求中的服务 ID 来查找提供指定服务的员工。这是我的代码:

问题是这段代码返回一个空数组,我不知道为什么。我已经尝试了很多东西,比如将服务 ID 转换为 mongoose.Schema.Types.ObjectId 但它不起作用。

任何想法?我正在使用猫鼬 3.8.39。谢谢!

0 投票
1 回答
91 浏览

node.js - 同一数据库上的两个客户端应用程序。

我正在使用 BeagleBone。我需要有两个服务。一种是用于进行配置的简单 Web 应用程序(称为 A),另一种是使用该配置的应用程序(称为 B)。

所以问题是当我通过猫鼬/通格斯同时使用两个应用程序连接到 TingoDB 时。如果我同时连接并从 A 应用程序向数据库添加一些内容,我可以看到文件中的更改,但使用该数据库的 B 应用程序无法看到该更改。我不知道为什么,因为每次我需要从数据库中读取,在 B 应用程序中,我都会重新连接,读取,然后断开连接。

当我重新启动 B 应用程序时,它工作正常,并使用“最新”数据。有什么方法可以查看这些更改或直接从文件中读取。

0 投票
1 回答
162 浏览

javascript - 试用 TingoDB:问题将全局变量传递给插入

我正在使用 node.js 测试和基准测试几个嵌入式数据库。使用 TingoDB,任何人都知道为什么会这样

但这不是:

也就是说,在第一种情况下,数据库被记录填满,直到size,而在第二种情况下,只添加了一个条目。