问题标签 [monk]

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

node.js - 对 MongoDB 集合进行排序并保存到另一个集合

我正在尝试按字段中的最高数字对集合进行排序到最低并保存到另一个集合。我正在使用和尚连接到数据库。

0 投票
2 回答
501 浏览

mongodb - Play with Meteor MongoID in Monk

I'm building an API using Express and Monk that connects to a database where wrote are mainly handled by a Meteor application.

I know that Meteor uses its own algorithm to generate IDs. So when I do something like that:

Monk outputs:

This way, it seems very tricky to me to design a solid and reliable REST API. Thus, I have two questions:

  1. How can I handle the difference in my queries between ids generated by Meteor and valid MongoID()? Is there a simple way to get JSON results from a Meteor database?

  2. Will it be a problem to insert documents from the API which this time will have a valid MongoId()? I will end up with both type of ids in my database, seems very bad to me. :/

0 投票
1 回答
77 浏览

node.js - 在具有mongo.js的nodejs中使用mongodb $位置指示器时遇到问题

我正在尝试对我的数据库执行搜索并返回用户对应用程序的角色并将其存储在他们的会话中。

结束状态在他们的会话中我现在有 user.applications =

应用程序数据结构:

使用 mongodb 控制台

我可以执行此搜索并准确返回在他们的会话中填充 user.applications 对象所需的内容:

这将返回 username2 有权访问的所有应用程序,同时返回他们拥有的权限级别,并且只返回他们。所以不包括 username1 对象

在 nodejs 中使用和尚

现在此搜索返回 username2 和 username1 的用户对象,这是有问题的,因为我必须进一步处理以提取正确的权限。

问题

我怀疑和尚对我的搜索做了一些事情,导致它无法使用 $ 位置指示器,但如果我错了,请告诉我如何使用它来实现我所追求的。

否则,我将不胜感激任何其他想法/方法来实现该最终状态:)

0 投票
2 回答
2759 浏览

javascript - MongoDB findAndModify 不适用于和尚

我正在尝试使用findAndModifynode.js mongodb 模块monk。这是我正在使用的方法,这会500在我的cmd

我在这里获得了方法签名。我收到一个看起来像这样的错误并且没有提供信息:

0 投票
0 回答
701 浏览

javascript - 在 NodeJS 中强制执行 Mongodb 错误以进行单元测试

我正在使用 should.js 为 Mongodb 数据库编写我的第一个测试,并且需要一种方法来强制执行数据库调用的各种函数中的错误。

我花了一些时间探索 Rewire.js 可能会如何提供帮助,但对于 Mongo 来说仍然足够新,我不确定我应该“重新连接”什么来强制数据库错误。

也许有更好的方法来编写函数以在测试期间触发错误。

我很欣赏任何想法。


对于它的价值,这是我想出的,并希望得到任何评论。没多久就写完了,如有错别字请见谅。

具有嵌入式异步调用的函数的典型布局通常类似于:

问题在于有一种很好的方法来测试错误路径中的代码。如果通过更改全局变量的值可以触发所需的错误,则有像 Rewire 这样的解决方案效果很好,但是很难找到通过重写全局变量来中断 Mongodb 调用的方法。

我的解决方案是:1)重写我需要“中断”以进行测试的异步函数

2)在测试过程中,如果我需要强制出错,我只需要重写get:

稍后如果我需要恢复功能:

我实际上已经编写了一个构造函数,它使重写/恢复过程更加简化,如果有人感兴趣,我很乐意发布。

我确实尝试过使用 Rewire 来处理重写/恢复过程,但没有成功。更糟糕的是,“重写”的代码不能单步执行。

优点
*不使用 eval
*单步调试(至少在 WebStorm 中)有效
*可以随意强制任何错误
*不改变函数签名
*能够强制特定函数失败,这在以下情况下非常有用测试依赖多个从属函数的大型函数的错误处理

缺点
*我必须用 get 和 mange_return 将所有异步函数重写为对象
*如果函数在模块中,我必须导出函数才能重写/恢复它

想法?

0 投票
0 回答
252 浏览

node.js - 通过 NodeJS express 应用程序的 mongoDB 查询总是在移动浏览器中返回 null

我有这段代码可以在桌面浏览器中产生所需的效果。

在桌面浏览器中,我得到一个 JSON 对象,一切都很好。在移动浏览器中,数据对象始终为空。没有抛出错误。什么都没有扔。我知道这不是一个完整的 REST 服务器,但这不是我需要的。我正在获取数据对象并使用对象中的一些属性来做一些其他事情,而不是实际输出原始数据。到目前为止,我已经解构了这个问题,发现 mongo 甚至没有返回一个对象。如何在不实现完整的 REST 服务器的情况下完成这项工作?

0 投票
2 回答
10290 浏览

javascript - 如何使用 Monk 在 Javascript 中的 forEach 循环中更新文档?

首先是我的文件的结构:

问题是我想在 forEach 循环中使用更新函数添加一个字段。循环有效,我可以遍历集合中的每个文档,但更新函数什么也不做。这就是我所拥有的:

我哪里错了?

0 投票
1 回答
696 浏览

node.js - 发送响应后如何停止nodejs ajax请求代码

我正在 Nodejs 中实现一个简单的用户注册表单。我正在使用 Express 框架、Mongodb 和 Monk。我已经成功实现了正常的数据库插入。但是现在,当我添加代码以首先检查输入的电子邮件或用户名是否存在时,它已经失控了。问题是,当找到具有相同电子邮件或用户名的条目时,我会使用它res.end来发送错误响应,但代码不会停在那里并继续执行其他条件并最终插入文档而不管条件如何,有时会出错那个can't set headers after they are sent。下面是我的 ajaxsignup 路由代码

0 投票
0 回答
438 浏览

node.js - 无法使用 MongoDb 和 Monk 更新文档

我正在尝试使用 Monk 进行简单的文档更新,但是会引发以下异常:

我的代码很简单:

我尝试过使用 update、updateById、findAndModify 方法,但它仍然会抛出相同的错误。

插入工作正常,所以我不确定发生了什么。如何更新记录?

0 投票
2 回答
1571 浏览

node.js - 在 Node.JS 中使用僧侣将多个文档(批量插入)插入到 mongoDB 集合中的问题?

我正在尝试将多个文档插入到 mongoDB 数据库中的集合中,但我只获得一个对象 ID 作为响应(在数据库中创建了多个文档)。

代码:

在此,relationDoc 将是一个数组

输入:

回复 :

}

仅供参考,我正在使用 NodeJS,并与和尚连接到 MongoDB。