问题标签 [casbah]

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

scala - 删除文档,同时保留至少一个

我有一个 MongoDB 集合,其中包含带有 id 和时间戳的历史数据。

我想从集合中删除早于特定时间戳的数据。但是对于每个 id,至少一个文档(最新的)必须保留在集合中。

假设我的收藏中有以下文件......

...并且我想删除时间戳早于 2011-09-07 的文档,那么不应删除 1 和 2,因为它们较新。4 应该被删除,因为它更旧,但 3 不应该被删除(尽管它更旧),因为每个 id 至少有一个文档应该保留在集合中。

有谁知道我如何用 casbah 和/或在 mongo 控制台上做到这一点?

问候, 克里斯蒂安

0 投票
2 回答
753 浏览

scala - 比对 ObjectId 查询

我有val maxId = new ObjectId(...)并且我想查询这样的内容:collection.find("_id" $lte maxId). 这是编译失败,因为ObjectId不包含适当的 trait ValidDateOrNumericType。如何通过比较对象的 ID 来正确查询对象?

在 Mongo shell 中,这似乎是可能的:

也可以使用 Java 驱动程序:

这对Casbah可行吗?

0 投票
2 回答
1292 浏览

mongodb - 使用 Casbah 将 lift-json JValue 转换为 MongoDBObject?

我正在尝试将 lift-json 的 JValue 中解析的 JSON 文档转换为 Casbah MongoDBObject - 有没有办法做到这一点?

0 投票
1 回答
543 浏览

scala - 错误:ValidDateOrNumericTypeHolder 需要的类文件,需要 RegisterJodaTimeConversionHelpers() - 没有希望,我找不到导入

也许我是盲人或其他什么,但我找不到我需要的进口。我在玩 scala + mongodb。一切都很好,我只是对这个 JodaTimer 有一些问题。在本教程中,您必须像这样导入它:

好吧,我找不到它。我只有:

好吧,没有“转换”。还有其他方法可以获得这个 JodaTimer 吗?因为没有 Joda,您无法连接到数据库,您会收到错误消息:

有任何想法吗?谢谢

编辑:如果您阅读教程网站

我有公地,但没有 JodaTime。我不明白如何设置这个jodatime。我需要魔法吗?

0 投票
2 回答
499 浏览

scala - 如何更新/删除嵌入对象

给定以下域模型:

我一直在使用 Salat 来帮助反序列化/反序列化这些对象。但是,鉴于我知道要删除/更新的对象的福利 ID,我对如何从员工对象的福利列表中删除/更新特定对象感到有些困惑?

我不想迭代完整的好处列表以更新单个对象,因为此列表在运行时可能包含大量对象。有没有比获取 emp 对象、迭代列表直到找到所需对象、更新它然后保存 emp 对象更好的方法?

0 投票
1 回答
1558 浏览

scala - Casbah/Salat:如何查询包含部分字符串的字段?

我尝试使用 Casbah 和 Salat 编写查询来查询包含名称部分的字段。我尝试使用这样的正则表达式(在 SalatDAO 中):

该记录在 MongoDB 中,当我使用完整名称搜索它时,它可以工作。

告诉 casbah 搜索字符串的一部分的正确方法是什么?

我想修复的另一件事是参数的字符串连接。是否有任何默认方法可以使用 casbah 转义输入参数,因此该参数不会被解释为 javascript 命令?

最好的问候,奥利弗

0 投票
2 回答
2449 浏览

scala - 如何查询 Array[String] 的正则表达式匹配?

我尝试通过 Casbah 在 MongoDB 中查询一个字段,该字段是带有正则表达式的字符串数组。

例如:

我有一个带有 ips 列表的 Maschine,它们作为字符串存储在字段 ips 中。现在我想搜索所有具有子网 192.168 的机器。

对我来说,我看起来无法使用应用于每个条目的正则表达式来查询数组,并且如果其中一个条目匹配则返回机器。

有什么方法可以进行这样的查询吗?

- 固定的

谢谢你的帮助。

现在一切正常。最后,我需要解决 Casbah 的一个限制,因为我需要使用 $or 加入查询,而 Casbah 抱怨缺少正则表达式的隐式。

我对带有其他字段的 RegExp 数组查询的最终代码是:

这不是最好的代码,需要修复参数的字符串连接。但它有效:)

0 投票
1 回答
876 浏览

casbah - Scala MongoDB Casbah 需要构建动态 $or 查询

使用 Scala、MongoDB、Casbah。

给定一个随机的字符串列表:

给定一个 MongoDB 文档结构:

如何使用单个MongoDBCollection.find() 语句查找名称等于列表中条目的所有文档?(即使用$或)

谢谢, - 唐

0 投票
2 回答
4015 浏览

scala - 如何通过 Casbah 将带有列表的 Scala 对象转换为 MongoDBObject

我正在通过编写一个简单的应用程序来学习 MongoDB 和 Casbah。当我尝试将具有列表成员的对象转换为 MongoDB 对象时卡住了。这是我的课

类别是具有 2 个案例类实现的密封特征,我打算像“枚举”一样使用它

因此,BorrowerRecord 的一个实例将保存一个人从图书馆借出的书,每本书都由一个 BookTag 对象标识。BookTag 保存有关书籍的一些信息,例如书名、主题名称、类别等。

假设我有一个 BorrowerRecord 并想将其保存到 MongoDB

我应该如何使用 Casbah 将其转换为 MongoDBObject ?

或者 Casbah 不是要走的路,还有其他库可以帮助我更轻松地将其持久化到 MongoDB 中?

0 投票
2 回答
1649 浏览

scala - 使用 Casbah API 关闭 Mongodb 连接

我没有得到任何有关“如何使用 casbah API 关闭 mongodb 连接”的有用信息。实际上,我已经定义了多个方法,并且在每个方法中我都需要与 mongodb 建立连接。工作后我也需要关闭它。我正在使用斯卡拉。

像这样的方法之一(scala中的代码示例):