问题标签 [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 回答
1556 浏览

scala - Casbah Scala MongoDB 驱动程序 - 嵌入式对象

我知道 MongoDB 中的对象可以包含多个级别的数据(就像 JSON 对象一样)。但是,Casbah 驱动程序教程仅涵盖“平面”对象的创建,其中只有一层数据。如何使用 Casbah 创建和使用多级对象?

0 投票
2 回答
4283 浏览

mongodb - Casbah Scala MongoDB 驱动程序 - 从 DBObject 获取数据

好的,这是关于 Casbah 和 MongoDB 基础知识的另一个问题。从数据库中检索 DBObject 后,如何从中提取某些数据?我知道有DBObject.get()返回的方法java.lang.Object。我是否必须这样做,然后将数据转换为所需的类型?我不确定这是不是最好的方法......有人可以推荐如何更好地做到这一点吗?

更新:

最后我采用了手动处理所有东西的方式。由于案例类的限制,我没有使用 Salat,因为不建议将案例类用于生孩子,这需要重新安排架构。但是,该答案被标记为最佳答案,因为它适用于大多数情况,并且这里没有其他更通用的答案。

0 投票
2 回答
1077 浏览

scala - 如何创建与 Casbah 的 Mongo 副本集连接?

我是 scala 和 casbah 的新手。我正在尝试使用 casbah 创建一个 mongo 副本集连接。这是我的代码。我很确定我的 mongo 副本设置是正确的。当我通过 ruby​​ 创建连接时,效果很好。我在这里错过了一些愚蠢的东西。当我用谷歌搜索时,我得到了这个文档,这是我用来参考的。

http://api.mongodb.org/scala/casbah/current/scaladoc/com/mongodb/casbah/MongoConnection $.html

我收到以下错误。

0 投票
1 回答
1650 浏览

mongodb - 更新 mongodb 中的子对象

考虑在我的 mongo 收藏中添加以下条目。

现在我需要在内部地图中添加一个条目。像

map不是,list所以我不能$push在那里使用。有没有办法在mongo中做到这一点。而且我正在通过 casbah 访问数据库。如果可以,请记下 casbah 代码。

注意:-地图不应该是一个列表

0 投票
2 回答
387 浏览

eclipse - Scala 中 Casbah 的 JAR 不正确?

这给了我以下错误:

“缺少 ValidDateOrNumericTypeHolder 所需的类文件。包 org 的参考值 joda 指的是不存在的符号。”

我四处搜索以解决此错误,但没有成功。有人可以指导我吗?

我在带有 Scala 2.9.0 插件的 Eclipse Java EE 中运行它。我的 Eclipse 项目中有以下引用的库。

casbah-commons_2.9.0-1-2.1.5-1.jar

casbah-gridfs_2.9.0-1-2.1.5-1.jar

casbah-core_2.9.0-1-2.1.5-1.jar

casbah-query_2.9.0-1-2.1.5-1.jar

casbah-dynamic_2.9.0-1-2.1.5.0.jar

mongo-1.0.jar

mongo-java-driver-2.7.1.jar

mongo-driver_2.9.0-1-0.2.0.jar

后续问题:

在 Antoine 的指导下解决了上述问题后,我继续尝试以下方法:

并得到这个错误:

java.lang.IncompatibleClassChangeError: com.mongodb.BasicDBObject 类没有实现请求的接口 org.bson.BSONObject

知道如何解决这个问题吗?

0 投票
1 回答
422 浏览

mongodb - Casbah - 参数查找或 findOne 不返回那里的内容

我遇到的问题与标题中描述的完全一样。

例如,如果我尝试:

然后我检查内容并:

但是,如果我不使用 MongoDBObject 参数,它会起作用——它会找到所有的东西。

我究竟做错了什么?我假设参数对象指定了一个key-value条件,该条件应该使搜索只返回包含这些key-value对的结果......

而且不得不说key和value都是有效的。但是,该值是数字的,但是对于这些语句来说是字符串化的,所以应该没问题。或不?

更新:

在尝试捕获更精确地描述问题所需的数据时,我已经运行了足以了解问题根源的测试。事实证明,Casbah 不会留下“1”来保持 a String,它会自动将其转换为 a Integer,因此,将 String 与 Integer 进行比较,肯定永远不会返回true。好的,所以我可以考虑这样解决问题:

但这太荒谬了……我想,我只是在这里没有得到什么,请告诉我,我错过了什么?

0 投票
1 回答
1384 浏览

scala - Reading the results of a Casbah MongoDB query

I have a document in MongoDB that looks like this:

I would like to query that object using Scala, and convert the entries in "data" into a list of case classes. After a few hours' work, I've yet to come up with something that even compiles. Can someone point me to a tutorial with this information? This tutorial hasn't been any help. I've tried every combination of nested maps, fors, foreaches, casts, and pattern matching that I can come up with.

Edit: My super-ugly but now seemingly working code is now this:

Please, someone tell me there's a better way.

0 投票
3 回答
3053 浏览

scala - 新 Scala 项目的 NoSQL(例如 MongoDB)或 RDMS(例如 PostgreSQL)?

我正在 Scala 中开发一个全新的项目。它只是一堆 CRUD 操作的应用程序,但是,由于一些古怪的要求,Play2 或 Lift 不符合要求,所以我将从头开始开发应用程序。这意味着 Anorm 或 ScalaQuery 成为数据库集成的不那么明显的选择,这给我留下了一个问题:是时候尝试新的东西了吗?

我过去的技术堆栈主要包括 Java 和 PostgreSQL,并且我在 ORM 和普通 SQL 方面都有经验。像 MongoDB 这样的 NoSQL 数据库管理系统是典型 RDBMS 的良好替代品,还是特殊情况下的应用程序数据存储?此外,数据库的选择如何影响更大的 Scala 系统设计(如果有的话)?例如,您使用类似 JSON 的接口与数据库对话,以及 Web 和 REST 服务之间的 JSON,如果中间的所有内容都变成 Scala 对象,这并不意味着什么,或者是吗?

我基本上是在询问某人从关系数据库到对象/文档类型数据库的经验,特别是使用 Scala。我知道在即将发布的 SLICK 版本中承诺了良好的 RDBMS 集成。因此,如果像 TypeSafe 这样的公司决定将 RDBMS 集成作为 TypeSafe 堆栈的一部分,那么我是否会通过使用 Casbah 集成到 MongoDB 来逆流而上?

如果这个问题看起来有点含糊,请道歉。我确实希望有正确见解或经验的人能够提供帮助。

更新:

很抱歉没有添加到 SLICK 的链接(它是相当新的)。开始:

更新 2:

我个人对一项技术的第一次胜利通常是开发人员的生产力——这意味着轻量级和简单:快速学习、易于维护、没有魔法

0 投票
2 回答
3583 浏览

scala - 如何检索 Mongodb 集合中的所有对象,包括 id?

我正在使用CasbahSalat创建我自己的 Mongodb dao,并正在实现一个 getAll 方法,如下所示:

我想知道的是:

  1. 有没有更好的方法来检索所有对象?
  2. 当我遍历对象时,我找不到对象的_id。是否排除在外?如何将其包含在列表中?
0 投票
3 回答
502 浏览

mongodb - casbah mongodb 访问对象参数的更多类型安全方式

在 casbah 中,MongoDBObject 中有两个方法调用.getAs和,它们以类型参数给出.getAsOrElse的类型返回相关字段的值。

这必须使用类型转换,因为我们可以通过将它作为类型参数来获取 a Longas a String,这可能会导致运行时类型转换异常。有没有其他类型安全的方法来检索结果中的原始类型?

这必须是可能的,因为元素的类型信息应该在getAs' 的输出中。