問題タブ [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.
scala - scala & mongoDB - サラットでレコードを数える方法は?
salat ライブラリを使用して、いくつかの条件で count() クエリを発行することは可能ですか?
今、私はちょうど次のようなことをしています
しかし、私はカウントがはるかに優れたパフォーマンスを発揮すると確信しています
scala - PlayStartを使用する場合のNoClassDefFoundError=>ClassPath $ JavaContext
私は小さなScala、Play2.0.2アプリケーションを作成しました。
play runコマンドを使用すると正常に動作しますが、play startまたはplay clean compile stage + target/startを使用すると、Casbah / SalatでMongoDB挿入を実行しようとすると、次のスタックが取得されます。
何か案が?
scala - 実行時に Scala コンパイラが必要なのはなぜですか? (Scalap 依存の Play2/Salat)
Scala / Mongo / Casbah / Salat / Play2 を使用していますが、Salat を使用しようとすると、Scalap に依存しているようです。
アプリケーションを実行すると正常に動作しますplay runがplay start、次のスタックを取得します。
scala/tools/nsc/util/ClassPath$JavaContextScalaコンパイラプロジェクトにあるので、SBT依存関係を追加しました:
今でもうまく動作しplay startます。
しかし、実行時に scala コンパイラーに依存してプロジェクトを実行しなければならないのは普通ですか? play runまた、scala コンパイラに依存
しなくても機能するのはなぜですか? 本番モードで実行されていない場合、自動的に組み込まれますか?
ありがとう
scala - 遊ぶ!別のmongoコレクションからアイテムを選択するフォーム
したがって、私が開発しているシステムの場合、私はこれに似た何かをしようとしています。
_id(ObjectId)、username、passwordを持つUserというモデルがあり、新しい予定を作成しようとすると、フォームは患者を検索します(ドロップダウンに患者名を表示しますが、実際には患者のObjectId)、および予約時間をアップします。
今、私はいたるところを見て、私が達成しようとしている解決策にリモートで近いものを見つけることができません。
Application.scalaには、次のものがあります。
患者を反映するために自分の見解をどのようにうまく機能させるかがわかりません。私はあなたがこのようなことをしなければならないことを知っています:
この例でMongoObjectIdを取得するために患者を検索する方法について、誰かが私にアイデアを教えてもらえますか。
私が使用しているORMはhttps://github.com/leon/play-salatです。
scala - MongoDB ドキュメントを、タイプはあるがドキュメントが埋め込まれていないケース クラスにマッピングする
サブセットは興味深い、薄い MongoDB ラッパーのように見えます。
与えられた例の 1 つに、ツイートとユーザーがあります。ただし、UserのサブドキュメントですTweet。従来の SQL では、これは Tweet から User への外部キーを持つ 2 つの別個のテーブルに正規化されます。MongoDB では、これは を必要とせずDBRef、ユーザーの保存ObjectIdで十分です。
Subset と Salat の両方で、これにより次のケース クラスが生成されます。
そのため、Tweet の ObjectId が実際に User に解決されるという保証はありません (型安全性が低くなります)。また、User を参照するクラスごとに同じクエリを作成する必要があります (または、それを何らかのトレイトに移動します)。
だから私が達成したいのはcase class Tweet(_id: ObjectId, content: String, userId: User)、 、コード内、およびObjectIdデータベース内にあることです。これは可能ですか?良い代替手段は何ですか?
mongodb - salatを使用してplayアプリからMongoDBに接続できません:コマンドが失敗しました[listDatabases]
私はplayframeworkでsalatプラグインを使い始めようとしています。データベースを構成し、application.confすべての依存関係をファイルBuild.scalaに追加し、salatをplay.pluginsファイルに追加しました。実際にはまだプロジェクトにコードを追加していません。githubページの指示に従って、プロジェクトを実行しようとしました。次のエラーメッセージが表示されます
パスワードとすべてをconfファイルに追加したので困惑しました。ログから、私のためにデータベースに接続しようとしているものは何でも、私が提供した情報を使用して最初にログインしていないように見えます。
scala - Play2、MongoDB、play-salat:クラスキャストの例外
play-salatプラグインを使用してMongoDbから取得したFooオブジェクトのリストを含むオブジェクトがあります。Barモデルはこんな感じ。
ビューには、fooオブジェクトのリストが表示されます。このようなイテレータを渡します
データを表示するテンプレートの部分は次のようになります。
これを行うと、ClassCastExceptionが発生します。
私はこのような他のバリエーションを試しました
ClassCastExceptionも発生します。
問題は、mongodbオブジェクトのリストをどのように反復できるかということです。ある種の転送オブジェクトは必要ないと思います。
scala - Salat で、grater[BigThing].asDBObject(v) の値がネストされたフィールドを配列に変えたのはなぜですか?
私が使用しているインポートは次のとおりです。
私は2つのケースクラスを持っています:
私のグレーターは、モノだけをグレーティングするときに、フィールドの名前を持つ DBObject を正しく生成します。
これは以下を出力します:
しかし、BigThing をグレーティングすると、Thing のフィールド名が配列に変換されます。
これは以下を出力します:
これはバグですか?私は何か間違ったことをしていますか?
私の build.sbt フィールドはこれです:
mongodb - それでも、Salat/CasbahでFakeAppをプレイすることに対して複数のテストを実行することはできません
一時的に問題を解決したと思いましたが、まだ問題が残っています。
モデルレイヤーのspecs2テストを作成しようとしています。ダミーオブジェクトを挿入してから、クエリを実行して、データが期待どおりに出力されることを確認します。私の簡単なテストは次のようになります。
そして、これが私が単体テストから得たスタックトレースです:
FakeAppが何らかの理由でデータベースから切断されており、再接続されていないようです。Playソースを調べたところ、実際に同じオブジェクトであるかどうかに関係なく、アプリケーションが停止して再起動するようです。onStop()問題はサラッ法に起因しているのonStart()ではないかと思いますが、よくわかりません。
私はこれにしばらく苦労してきましたが、問題について推論する方法だけでも、どんな助けでも大歓迎です。