1
私はMongoDBのに新たなんだと私は疑問以下の持っているが:GrailsのMongoDBのインデックス組み込み文字列のリスト
class Venue {
String name
List<String> tags
static mapWith = "mongo"
static mapping = {
tags index:true
}
new Venue(name: 'Test1', tags:['abc', 'def']).save()
new Venue(name: 'Test2', tags:['abc', 'ghi']).save()
は今、私は、特定のタグが付けられた会場のクエリをしたいです。
def venues = Venue.getByTag(['def']);
残念ながら、クエリは機能しません。より良いアプローチがありますか?
今、私は特定のタグで会場を取得する方法を知っている:インデックスが使用される場合
どのように発見することができます{「DEF」 、 EQ「タグ」} DEF会場= Venue.withCriteria ?
を?データが実際にMongoにあることをシェルから問い合わせることで確認しましたか? – Ryan
次の例外が発生しました: groovy.lang.MissingMethodException:メソッドの署名がありません:com.foo.Venue.getByTag()は引数タイプには適用できません。(java.util.ArrayList)values:[[def]] Possible解決策:getTags()、setTags(java.util.List) メッセージ:groovy.lang.MissingMethodException:メソッドのシグネチャがありません:com.foo.Venue.getByTag()は引数型に適用されます。(java.util.ArrayList)値:[[def]] 可能な解決策:getTags()、setTags(java.util.List) タグを索引付けでき、ドメインを作成する必要がない場合、MongoDBを使用すると大きな利点になると思いますObj。タグのコレクション。 – user1117605
GORMは本当にわかりませんが、この文書を読んでいると思いますか? http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html MongoDBはあなたがしようとしていることを確かにサポートしています.GORMもそうであると仮定します。構文を見つけるだけの問題です。 – Ryan