问题标签 [mongoskin]

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

node.js - 使用带有 Nodejs 的 Mongoskin 和 MongoHQ 部署到 Heroku 时遇到问题

我目前正在构建一个使用 mongoskin 的 node/express.js 应用程序。我最近将我的应用程序部署到 Heroku,并因将 mongohq 与我的应用程序一起使用而感到头疼。

这是我使用 node app.js 运行的 app.js 文件

我的 package.json:

在阅读了 Heroku 上的指南之后,我尝试重新构建 decks.js 并像这样使用 mongoskin。

但是我一直收到错误:

我已经阅读了大量教程,但我无法让我的数据库正常工作!!请任何帮助您不胜感激。

0 投票
1 回答
732 浏览

node.js - mongoskin动态集合名称错误

我需要插入到集合名称位于变量内的 Mongodb 集合中。但它似乎不可能或我的代码是错误的。

但它抛出了这个错误:

关于我如何处理这个错误的任何想法?谢谢

0 投票
1 回答
674 浏览

node.js - Mongoskin 连接失败(错误:连接关闭)

我对我尝试使用的所有技术都是全新的,但我有一些看似简单的代码(从教程中收集),但我无法开始工作。我正在使用 Node、Express 和 Mongoskin/MongoDB。每当我尝试对数据库进行任何操作时,都会收到一个非常通用的“连接关闭”错误。我有 MongoDB 2.4.6、Mongoskin 0.6.0 和 Mongo Native 1.3.19。MongoDB 正在运行,我可以从终端连接并使用我的数据库。我在 Mongo 日志中看到我的代码甚至从未建立连接。我想也许我需要明确地调用 open ,但即使这样也会返回相同的错误。

我确定我在做一些愚蠢的事情,但我很难过,我们将不胜感激。这是代码:

0 投票
1 回答
139 浏览

node.js - 在 MongoDB 中断言唯一性

我正在为 webbapp 使用 Node、Express 和 MongoDB(带有 Mongoskin)。

新客户帐户是通过网络表单创建的,需要输入诸如“公司”、“联系人”、“电子邮件”等...

创建新客户端时,有些字段在保存到数据库时必须是唯一的。这些输入是:'Company''Slug''Email'

公司需要独一无二。 Slug由公司名称生成,也需要是唯一的。

前任。'Café Rosegarden''Cafe Rosegarden'是两个不同的公司名称,但会生成相同的slug: 'cafe-rosegarden'

电子邮件。我认为这需要是独一无二的......但我实际上不确定

现在我在这些字段上有三个唯一的索引。

问题 1:索引是断言字段唯一性的唯一(最好?)方法吗?

问题 2:我使用复合索引,它如何处理唯一性?例如,我可以说电子邮件只需与一个特定的公司名称相结合就可以是唯一的吗?

0 投票
4 回答
16820 浏览

node.js - MongoDB 查询条件和预测

我正在使用 Node/Express/MongoDB/Mongoskin 构建一个应用程序。

在数据库中,我有一个名为“clients”的集合,其中包含有关客户帐户信息的文档。每个客户文档都包含一个包含发票对象的数组,如下所示:

问题:假设我想查询此集合中的所有文档,例如在显示所有客户端的超级管理员视图中,但我想将从发票数组返回的信息限制为“年份”等于某个值的对象,例如 2013 年,当前年份。

我想投影是我需要的,但问题是投影只返回它找到的第一个结果......

0 投票
0 回答
229 浏览

javascript - Javascript:通过对象属性递归并在键或值匹配模式时替换属性

我正在接受用户提供的类似于 MongoDB 查询的 JSON 字符串,我想对其进行一些验证和处理,并将其作为查询发送给 MongoDB。

  1. 我正在为 node.js 使用 MongoSkin 驱动程序
  2. 查询字符串可能有一个 _id 字段,并且它可能嵌入在子文档中。
  3. 它可以有一个或多个日期(在这种情况下是一个时间日期,例如“2013-11-05T15:29:32.128Z”)。在这里,我无法控制属性名称,因此键可能是“createdOn”、“lastUpdated”、“submitted”等。

目前,我正在执行以下操作,但它的行为很奇怪。对于嵌套键(如“parent._id”,我传递给 collection.find() 的对象看起来像 {'parent_.id':'xyz'},对于根键,如“_id”,我传递给的对象find() 看起来像 {_id:'xyz'}

  1. 使用 JSON.parse 将查询字符串解析为对象
  2. 将该对象传递给两个递归函数,一个用于 ids,一个用于日期(示例如下)
  3. 使用结果对象作为 collection.find() 的查询参数

查询字符串可能如下所示,但我无法控制它们。

{“_id”:“12o3iu4y2134iouy”,“提交”:“2013-11-05T15:29:32.128Z”}

{"child._id":"12o3iu4y2134iouy", "comment.submitted":"2013-11-05T15:29:32.128Z"}

关于该方法的任何建议,或者我的函数/算法有什么问题>?

更新:我刚刚发现我的嵌套 id(上例中的“child._id”)实际上不是 ObjectId,而只是我从子文档的 ObjectId 中使用的 24 位十六进制字符串。

0 投票
0 回答
92 浏览

node.js - 循环中通过单文档更新查询进行多文档更新

我正在使用 Mongoskin 在 Node/Express/MongoDB 中构建一个应用程序。在这个应用程序中,有一个预定功能,在每个月初运行。

该函数由以下代码组成:

该函数首先从数据库中查询所有可用的客户文档,然后使用这些数据为每个客户创建一个新的发票对象,并将此发票推送到客户发票数组中,并将其保存到数据库中。

现在我的更新是循环的,这意味着当有很多客户端要更新时,会有很多单个更新查询。我预计不会超过 100-200 个客户。

问题:有没有更好的方法来构造这个函数和它的更新查询?困扰我的是循环中的单个文档更新查询......但也许这是正确的方法。

0 投票
3 回答
820 浏览

node.js - Mongoskin 不会从 nodejs 应用程序中的 mongodb 获取一些结果

我想通过 mongoskin 从 mongodb 读取一些数据。但是当我尝试调用 localhost:3000/tasks 时,nodejs 会抛出一个错误

在我的数据库“待办事项”中,“任务”集合中有一些项目。当我启动应用程序时,控制台中的结果工作正常。

谁能看到我在哪里写错了?

错误消息:

我的 app.js:

/routes/tasks.js 下的路由文件

0 投票
1 回答
704 浏览

node.js - 使用 Mongoskin 将多个文档插入 MongoDB

我正在尝试通过循环插入多个文档,但我遇到了 ObjecId 的唯一性问题。

我有这个功能:

在创建并插入第一个文档后,我得到一个“mongoError: E110000 Duplicate key error index: ...”。

问题: 为什么这个循环试图插入每个具有相同 ObjectID 的文档,从而产生错误?我如何重写它以确保 ObjectId 每次都是随机的?

0 投票
1 回答
1093 浏览

node.js - 使mongoskin函数异步同步

此函数用于确定此用户是否唯一,但返回结果始终为“未定义”,因为 db 操作是异步的。我相信这是nodejs中的一个常见问题。我该如何解决?

我尝试使用 promise ( https://npmjs.org/package/promise ),但我没有足够的知识来理解他们的文档。它适用于非常高级的开发人员。

你能帮我一些示例代码吗?我需要做的就是使用mongoskin获取count(),然后在这个成员方法中返回结果。

谢谢!