问题标签 [mongojs]
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.
node.js - 如果在 mongodb 中多次更新部分失败,如何回滚?
我了解多重更新不会是原子的,并且更新查询可能会在此过程中失败。可以通过 找到错误getLastError
。但是,如果我想回滚在该特定查询中已经完成的更新怎么办?有比繁琐的两阶段提交更简单的方法吗?
例如,假设我有一些用户及其手机型号的简单集合。现在我对所有拥有 Nexus 4 到 Nexus 5 的用户进行多次更新(梦幻,不是吗?)。唯一的条件是,全有或全无 - 因此,即使一个 N4 用户没有得到他的,所有 N5 都会被收回。现在,不知何故,mongodb 在两者之间失败了,我被一些 N4 用户和一些 N5 用户困住了。现在,正如我从网上收集的那样,我不能让 mongo 直接回滚。如果操作失败,我将不得不手动将 N5 用户更新回 N4。如果这也以某种方式失败,请继续重复。或者当我有一个复杂的集合时,我将不得不保留一个新的密钥即。Status
并使用关键字更新/更新来更新它。
这是我的理解。我想知道是否有更简单的方法。我从评论中假设答案是否定的。
node.js - 如果架构过于动态,我应该使用猫鼬吗?
到目前为止我所理解的是,猫鼬需要我们定义一个模式。但是,如果我的架构在每个用户的基础上不断变化怎么办。例如,假设有成千上万的手机用户。每个用户都有不同类型的优惠订阅,还有什么不一样。新优惠不断涌现,他甚至可以选择优惠组合,即时创建新优惠。因此,这些报价成为保存有关该报价的各种其他详细信息的子文档的关键。无法预定义这样的模式。那我应该用猫鼬吗?还是坚持使用 mongojs 类型的薄皮包装器而忘记 mongoose 的 ODM 功能?
node.js - Node.js mongojs mongoDB 互联网层
我到处找,找不到 mongojs 用于连接 mongodb 的协议。谁能给我看一些文档,指定它是 UDP 还是 TCP/IP 还是 HTTP
node.js - MongoDB聚合以查找值大于n的第一个文档
给定一个大型(数十万)事件文档集合(例如见下文),检索_id大于( n ) 的第一个事件的最高效方法是什么?
示例文档
当前实施
给定许多事件的集合,检索_id 大于 35的第一个事件。
首先,使用聚合检索事件的id。
我这样做是假设投影阶段(仅返回 id)将比循环遍历未知大小的完整文档更高效。
然后,我使用返回的 _id 调用 findOne 来检索该文档。
你觉得呢?你有没有什么想法?
node.js - Node.js + mongoDB,mongojs $in 运算符出错
我正在运行带有 mongojs 作为驱动程序的 mongoDB 的 node.js。我有以下问题,
我尝试使用 _id 数组查询业务集合,如果我尝试如下动态构建查询,我会得到长度为 0 的数组,这是错误的。
如果我尝试以下操作,那么我将得到正确的 3 数组。
谁能指出我哪里出错了?提前谢谢了。
问候,赤丹
node.js - 在 MongoDB 范围问题中查询多个集合
我正在尝试使用 MongoJS(node.js mongodb 包装器)查询两个单独的集合以构建一个对象数组,然后我将使用 EJS 用我的视图进行渲染。
我遇到的问题似乎与范围界定有关。
我相信我members[]
在正确的位置实例化数组以使其可用于任何子函数,但我仍然收到此错误:
TypeError:无法设置未定义的属性“名称”
node.js - MongoDB mongojs 节点
我正在尝试学习 node、mongodb 和 mongojs 并且有一个新手问题。
我的路线看起来像这样......
我的 JSON 看起来像这样......
我想做的在 SQL 中很简单——select * from msgs where author = 'George'
如何使用 mongo/mongojs 执行此操作?
我试过这样的事情没有成功......
回调代码是
以下是一些声明
而 setup.js 是
最后,config.json
当我说代码不起作用时,我的意思是当我使用 Postman Rest Client Chrome 插件进行测试时,我得到以下信息
当我尝试 GET 时
如果我使用 msgs.findOne 使用类似的回调,它会按预期工作
我认为这应该是足够的代码来解释我想要做什么
任何指导将不胜感激。
node.js - MongoDB 按相关性排序
我正在尝试从节点上的 MongoDB 获取文档。假设文档具有以下结构:
我想按相关性对它们进行排序——所以当我在寻找具有“蓝色”或“黄色”标签的文档时,我想先获取带有这两个标签的文档。到目前为止,我由谷歌管理,反复试验:
它工作得很好,我得到了排序的 id 集合:
现在我会进行另一个查询并询问具有这些 ID 的文档 - 但这是我的问题:可以在一个查询中完成吗?
javascript - 使用 express 将 MongoDB 查询结果作为 JSON 发送
我正在编写一个使用 express、Node.js 和 MongoDB(使用 mongojs)的应用程序。我有一个模块db.js
和一个server.js
,它们有下面的片段。
数据库.js
服务器.js
它之所以有效,是因为如您所见,我(可能不正确地)使用callback.json(data)
,而我应该使用callback(data)
. 我认为db.js
模块不应该负责发送响应,我应该res.json
作为回调传递给我的函数。
问题是:当我按照我认为正确的方式做事时,我会遇到以下错误:
如何正确发送 JSON 响应而不将响应对象发送到我的数据库模块?
PSdb.js
当我进行更改时,第 36 行的内容是callback(data);
.
javascript - 使用 mongojs 添加依赖于其他查询的额外字段以在 mongodb 中查询结果
我需要进行 MongoDB 查询并为我的每个结果添加一个额外的字段。字段值取决于另一个查询的结果。
我正在尝试在我的server.js
代码中调用嵌套查询。它不起作用,因为res.json(data)
在修改数据元素之前调用。我怀疑有一种方法可以在我的代码中使用嵌套查询(或使用类似forEach
or的东西)来做我想做的事,但是我缺乏 JavaScript/Mongo 经验并没有让我找到一个好的解决方案。aggregate
db.js
任何帮助,将不胜感激。
服务器.js
数据库.js
编辑:
我能够通过在我的内部回调中添加一个检查来解决这个问题: