问题标签 [salat]

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

scala - scala & mongoDB - 如何用 salat 计算记录?

是否可以使用 salat 库发出具有多个条件的 count() 查询?

现在我只是在做类似的事情

但我相信计数会表现得更好

0 投票
2 回答
3583 浏览

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

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

我想知道的是:

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

scala - NoClassDefFoundError => ClassPath$JavaContext 使用播放开始时

我制作了一个小的 Scala,Play2.0.2 应用程序。

play run当我使用命令时它工作正常,但是当我使用play startorplay clean compile stage + target/start时,当我尝试使用 Casbah/Salat 进行 MongoDB 插入时,我得到以下堆栈:

任何想法?

0 投票
2 回答
1039 浏览

scala - 为什么我在运行时需要 Scala 编译器?(具有 Scalap 依赖性的 Play2/Salat)

我正在使用 Scala / Mongo / Casbah / Salat / Play2,当我尝试使用 Salat 时,它似乎依赖于 Scalap。

它在运行应用程序时工作正常,play runplay start我得到以下堆栈:

scala/tools/nsc/util/ClassPath$JavaContext在 Scala 编译器项目中,所以我添加了 SBT 依赖项:

现在它也可以正常工作play start

但是,运行我的项目时必须使用 scala 编译器的运行时依赖项是正常的吗? 为什么它可以在play run没有 scala 编译器依赖的情况下工作?不在生产模式下运行时是否自动嵌入?

谢谢

0 投票
2 回答
477 浏览

scala - 玩!从单独的 mongo 集合中选择项目的表单

因此,对于我正在开发的系统,我正在尝试做类似的事情:

如果我有一个名为 User 的模型,它有一个 _id (ObjectId)、用户名、密码,然后我正在尝试创建一个新约会,我的表单将查找患者(在下拉列表中显示患者姓名,但实际上会选择病人的 ObjectId)和预约时间。

现在我到处找,找不到任何接近我想要达到的解决方案的东西。

在 Application.scala 中,我有:

我不确定如何充分发挥我的观点以反映患者。我知道你必须做这样的事情:

谁能给我任何关于如何查找此示例的患者以获取 Mongo ObjectId 的想法。

顺便说一句,我使用的 ORM 是https://github.com/leon/play-salat

0 投票
2 回答
3474 浏览

scala - 将 MongoDB 文档映射到具有类型但没有嵌入文档的案例类

Subset看起来像一个有趣的、精简的 MongoDB 包装器。

在给出的示例之一中,有推文和用户。但是,User是 的子文档Tweet在经典 SQL 中,这将被规范化为两个单独的表,其外键从 Tweet 到 User。在 MongoDB 中,这不需要 a DBRef,存储用户的ObjectId就足够了。

在 Subset 和 Salat 中,这将导致这些案例类:

因此,不能保证 Tweet 中的 ObjectId 实际上解析为 User(使其类型安全性降低)。我还必须为每个引用 User 的类编写相同的查询(或将其移动到某些特征)。

所以我想要实现的是case class Tweet(_id: ObjectId, content: String, userId: User)在代码中和ObjectId数据库中拥有 , 。这可能吗?如果可以,怎么做?什么是好的选择?

0 投票
4 回答
2245 浏览

mongodb - Can't Connect to MongoDB from play app with salat: command failed [listDatabases]

我正在尝试开始使用 playframework 中的 salat 插件。我已经在其中配置了数据库,application.conf并将所有依赖项添加到文件中Build.scala,并将 salat 添加到play.plugins文件中。我实际上还没有在项目中添加任何代码,我只是按照 github 页面上的说明进行操作,然后尝试运行该项目。我收到以下错误消息

我很困惑,因为我将密码和所有内容都添加到了 conf 文件中。从日志看来,任何试图为我连接到数据库的东西都没有使用我提供的信息先登录。

0 投票
2 回答
743 浏览

scala - Play2、MongoDB、play-salat:类转换异常

我有一个对象Foo,其中包含Bar我使用 play-salat 插件从 MongoDb 获得的对象列表。模型看起来像这样。

该视图应显示 foo 对象的列表。我通过这样的迭代器

显示数据的模板部分如下所示:

这样做,我得到一个 ClassCastException:

我尝试了其他类似的变体

导致 ClassCastException 以及:

问题是,如何遍历 mongodb 对象列表?我猜/希望不需要某种传输对象。

0 投票
0 回答
507 浏览

scala - 为什么在 Salat 中 grater[BigThing].asDBObject(v) 的值将嵌套字段变成了数组?

这是我正在使用的导入:

我有两个案例类:

我的刨丝器在单独刨丝时正确地生成了一个带有字段名称的 DBObject:

这打印:

但是当对 BigThing 进行光栅化时,Thing 的字段名称会变成一个数组:

这打印:

这是一个错误吗?我做错了什么?


我的 build.sbt 字段是这样的:

0 投票
3 回答
1498 浏览

mongodb - 仍然无法针对使用 Salat / Casbah 玩 FakeApp 进行多项测试

我以为我已经暂时解决了这个问题,但事实证明我仍然有问题。

我正在尝试为我的模型层创建一些 specs2 测试,我想插入一些虚拟对象,然后运行一些查询以确保数据按预期输出。这是我的简单测试的样子:

这是我从单元测试中获得的堆栈跟踪:

看起来 FakeApp 以某种方式与数据库断开连接,而不是重新连接。我查看了播放源,似乎应用程序将停止并重新启动,无论它是否实际上是同一个对象。我认为这个问题可能源于salatonStop()方法,或者onStart()我不太确定。

我已经为此苦苦挣扎了一段时间,任何帮助,即使只是关于如何推理问题,将不胜感激。