问题标签 [node-orm2]

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

javascript - Node.js:如何在 node-orm 中选择和连接表?

我的 mysql 数据库中有 2 个表OwnersPets. 我正在使用 node.js 和node-orm来访问数据库。我想选择拥有棕色宠物但我不知道该怎么做的主人。

这是我没有运气的尝试:

pets/列在那里是因为没有错误(如果我使用不存在的列名,它会给我一个错误),但是它对查询完全没有影响。这可能node-orm吗?如果没有,我应该使用哪个 orm?

0 投票
1 回答
123 浏览

mysql - 创建新模型不起作用 - 没有错误

我在我的项目中使用 node-orm2 和 mysql。我已经创建了数据库表,我可以在我的数据库中查询/查找数据。但是,当我想插入新数据时,什么也没有发生 - 回调中没有错误,什么都没有。

以下是相关代码:

型号类:

模型文件夹中的 Index.js:

控制器:

环境.js

设置.js:

我基本上遵循了 node-orm2 中示例应用程序中的模式 - 但它不起作用。有什么想法,为什么?

谢谢!

0 投票
1 回答
3887 浏览

javascript - Node 和 MySQL - 解决“连接过多”问题

我有一个使用MySQL数据库在Node.jsExpress上运行的应用程序。我正在使用的驱动程序是node-orm2。我们的用户不断报告“连接太多”错误,我已经诊断出问题,但我不知道如何解决它。

基本上发生的事情是,每次新用户访问该站点时,驱动程序都会为他们创建一个新线程/进程。我可以SHOW PROCESSLIST在 db 上进行查询,它会Time0.

如果用户进行另一个需要数据库的操作,则重新使用同一线程Time然后返回0. 但是,如果他们不这样做,线程将保持活动状态(带有Commandof Sleep),并且Time机架会上升。数据库的最大连接限制为250,超时为7200

所以基本上,如果超过 250 人在 2 小时内使用该网站,我们会看到“连接太多”错误。

我尝试使用连接池,但这使问题变得更糟。每次新用户使用数据库时,都会创建 10 个线程,当达到 7200 秒超时时,线程重新生成

我在这里有什么选择?

我目前的方法是每半小时运行一次预定的作业来关闭已经打开太久的线程,但是有更好的方法吗?

我正在使用以下设置:

0 投票
0 回答
153 浏览

node.js - 在nodeorm中获取模型的模型ID

使用 NodeJS 中的 nodeorm2 (sqlite),我“创建”了几个这样的模型,用示例数据填充我网站的数据库:

这些操作是异步的。当他们完成后,我还想为我刚刚“创建”的模型添加子模型。

myModel 和 subModels 之间的关系定义如下:

如何获取我创建的模型的 ID,以便我还可以添加子模型?我可以使用“查找”在数据库中搜索新创建的模型。但是,不能保证模型是按照我指定的顺序创建的。

在 php/mysql 中,我会使用 mysql_insert_id() 来实现这一点。SQL 中的等价物是 last_insert_id()。

编辑:在回调函数中,我可以访问 id。

但是,这两个回调函数的 ID 相同。我不明白。即使我创建具有不同命名属性的单独回调函数,id 也是相同的。

0 投票
1 回答
272 浏览

node.js - Creating multiple database entries with node-orm2 in NodeJS

I want to save several objects into a database that I have defined in my NodeJS (express) app. The database module is node-orm2 and the database is an SQLite.

The output is:

But I expect it to be like this (or in a different order):

What am I doing wrong? I tried to create the models in other ways, and I also tried the save method. I get the same results.

When I look at the database, I see that the three rows were added with the expected ids (1,2,3). So why is node-orm2 not returning the right id? I need to work with this ids to add more objects to the database.

0 投票
1 回答
464 浏览

mysql - MySQL KILL - 进程立即重生

我写了一个 Cron 作业来杀死休眠时间过长的进程。但是,当我终止一个进程时,它会立即重新生成。是什么重新启动了这些进程?它是MySQL设置吗?

这是我正在使用的代码:

0 投票
0 回答
60 浏览

node.js - 查询数据库时是否正确响应?

我将 express 和 MySql 与 node-orm2 一起使用。

有一个 GET 请求从数据库中获取一些数据。

我把输出函数传给loginFormChecker,在查询数据的回调中调用。

我不知道这是否是正确的方法。有没有更好的方法,也许是承诺之类的?

谢谢。

0 投票
2 回答
217 浏览

node.js - NPM ORM - 保存 hasOne 字段的更新

我有一个设置,我有一个在我的应用程序中具有特定角色的人。

我有以下型号

当创建一个具有特定角色的新人时,一切正常并分配了角色。

创建具有角色的新用户

模板

控制器

但是当我尝试更新一个条目时,每个更改的字段都会更新,除了role_id.

用角色更新现有用户

模板

控制器

role_id我什至在更新字段时收到正确的信息。由于在更新中保存其他属性是有效的,而且这role_id只是我不理解的人的一个属性,为什么这不可行。如果您需要更多代码,请告诉我。我现在真的被困住了。有没有人有同样的经历?

编辑:我什至尝试将其转换为 int 但这也没有改变任何东西person.role_id = parseInt(req.body.role);

0 投票
1 回答
193 浏览

javascript - 有没有办法在 node-orm 中以同步方式调用每个函数?

我遇到了 node-orm2 的异步行为问题。我有一个这样的查询:

我的问题是,由于内部发生的事情post.getMagic()是异步的,所以我的回调函数会在doMagic完成之前执行。检查源代码我确认这是正常行为,但由于这是一个快速应用程序,我的服务器响应错误信息。

我尝试使用waitfor进行getMagic同步调用,但没有成功。这可能是我缺少的东西。有没有办法让each函数像同步map函数一样工作?

0 投票
1 回答
1017 浏览

node.js - 用于 Postgers 空间索引的 Nodejs ORM(如 PostGIS)

Postgres 是首选数据库,因为它使用 PostGIS 或其他 gists 具有空间索引优势(top-k-closest-points)。看起来 Node.js ORM 不直接支持空间索引,那么哪一个需要最少的黑客攻击?Sequelize 和 node-orm-2 似乎需要一些黑客才能让它工作。有什么建议么?