问题标签 [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.
scala - 使用 Scalatra 和 Casbah 的 CRUD 操作
我正在学习 Scala 和 MongoDB,我正在使用 Scalatra 和 Casbah 作为简单 Web 应用程序的框架。
它是一个简单的留言板,打算在 Casbah 中学习 CRUD 操作。问题是我发现当我列出消息时,我无法在网站上唯一地引用 MongoDB 中的记录。
我当前的代码如下。
我遇到的问题是不能将 ObjectID 转换为字符串。但是如果没有每行的唯一 ID,我就无法从网页中提供删除功能。
有没有使用 Casbah 处理这些事情的标准方法?我见过的所有教程都忽略了从网页中唯一地访问记录或完全忽略了 scalatra,而只专注于处理来自 scala 代码的记录。
indexController.scala
索引.scaml
scala - 使用 Casbah / Salat 定义自定义序列化 - 或将序列化委托给成员?
我正在为一个来自 Rails 的新项目学习 Scala。我已经定义了一个将在我的许多模型中使用的类型,基本上可以将其视为“属性”的集合。它基本上只是一个 hashmap 的包装器,将它的大部分职责委托给它:
所以我会用 a 定义一个模型类Description
,比如:
但是,当我坚持Person
使用 SalatDAO 时,我最终会得到一个如下所示的文档:
实际上我不需要在attributes
标签中嵌套description
标签 - 我真正想要的是:
我没有尝试过,但我认为如果我Description
扩展 aMap
而不是包含一个,我可以让它工作,但我宁愿不这样做,因为 aDescription
不是 的类型Map
,它具有一些行为aMap
以及它自己的其他行为,我稍后会添加。组合优于继承等等。
所以我的问题是,我如何告诉 Salat(或 Casbah,实际上我有点不清楚是哪个在进行转换,因为我才刚刚开始使用它们)如何序列化和反序列化Description
类?在这里的 casbah 教程中说:
也可以创建自己的自定义类型序列化器和反序列化器。请参阅自定义序列化器和反序列化器。
但是这个页面似乎不存在。还是我走错了路?实际上有没有一种非常简单的方法来表明这是我想要发生的事情,注释或其他东西?或者我可以以某种方式简单地将序列化委托给属性映射吗?
编辑:在查看了 JodaTime 转换助手的源代码后,我尝试了以下方法,但还没有让它工作:
当我调用RegisterCustomConversionHelpers()
然后保存时,Person
我没有收到任何错误,它只是没有效果,以与以往相同的方式保存文档。对于我想要的东西,这似乎也有很多事情要做。
scala - 如何使用 Scala 中 mongoexport 导出的日期解析 json?
鉴于此代码示例:
我收到此错误:java.lang.ClassCastException: java.lang.Long 无法转换为 java.lang.String
我该怎么做才能在 Scala 中使用 Casbah 正确解析它?
scala - 有效更新光标列表并插入 Casbah 中的集合
我正在查询一个集合,我想更新结果。
我想更新一个字段并让其余字段保持不变。
我有“filename”和“projectId”作为键的条目
在这种情况下,我正在做:
然而,这很慢。如何以更有效的方式更新对象列表?
谢谢!
scala - Salat 错误:SalatDAO 所需的类文件丢失。com.mongodb.casbah.TypeImports 的引用类型 MongoCollection 引用不存在的符号
当我尝试扩展 SalatDAO 或使用 grater[T].asObject(x) 时出现以下错误:
SalatDAO 所需的类文件丢失。com.mongodb.casbah.TypeImports 的引用类型 MongoCollection 引用不存在的符号。
我遵循了 Salat 示例,但由于某种原因,扩展 SalatDAO 和 graters asObject 对我不起作用。我在网上找不到有关此错误的任何参考。
这是我的代码:
我非常感谢您对此的任何帮助或建议。我是 Scala 和 Mongodb 的新手。
我正在使用 sbt compile 进行编译。这是我的 build.sbt
sql - 批处理查询的等效 Mongodb 习惯用法
批量查询mongo集合的最有效方法是什么?例如在 SQL 中,我会做类似的事情:
我发现我可以做一些这里概述的事情
但是关于跳过的大警告让我认为我不应该使用它。(假设集合足够大,足以影响它)。
除了自动生成的 _id 字段外,我的收藏没有任何索引。我不确定是否有办法使用它和 $gt $lt.
如果这很重要,我将使用 Casbah 驱动程序,以防内置秘密酱汁。
scala - 使用 Scala/Casbah 从 MongoDB DBObject 中提取值
我想从 Casbah 的 MongoCollectionBase.find(...) 返回的 DBObject 中提取某个键的值,在这种情况下为“orderItems”。我有解决方案,但我不满意。我发现我的解决方案很麻烦。它在每一步都将从 DBObject.toMap 返回的 java.util.Map 转换为 Scala Map 或其他集合。更好的方法是什么?谢谢
删除了细节的 2 行样本数据保留在 MongoDB 中,
scala - 使用 Casbah/Scala 在 MongoDB 上执行自定义函数
我已经使用它的命令行客户端在 MongoDB 中定义了一个函数。
我想知道如何使用 Scala 的 casbah 执行自定义 MongoDB 函数。
有什么建议吗?
谢谢,
scala - 无法编译基本的 Casbah 3.0 程序
我的项目使用以下 jars:scala-library (2.9.2)、mongo-java-driver (2.7.3)、scalaj-collection (2.9.1-1.2)、casbah (util、commons、core、query、gridfs) 2.9.1-3.0.0-M2、joda-time 2.1 和 joda convert 1.2
当我输入以下 hello-worldish 代码时:
我收到一个错误:“未找到:值 MongoConnection”。如果我明确表示,错误就会消失
但我认为Imports._
应该照顾好这个。我可能做错了什么?
scala - Casbah Scala MongoDB 驱动程序 - 一个奇怪的错误
我正在尝试使用 Casbah,一开始我在这一行遇到了一个奇怪的错误:
MongoConenction 上的错误说:
MongoConnection 所需的类文件丢失。com.mongodb 包的引用类型 MongoOptions 引用不存在的符号。
我不知道该怎么办。我附加到我的项目的罐子是:
这看起来像是 Casbah 的完整设置,我不明白它可能渴望什么。所以有第一个问题 - 我必须做些什么来解决这个问题?
第二个问题是 - Casbah教程说我可以只导入一件事,然后获取mongoConn()
方法,这也不是事实。如果我按照说明进行操作,mongoConn()
根本找不到。那么,我怎样才能让每个人都能像教程中那样工作呢?