0
"student_collection"という名前のコレクションがあり、このコレクションには次のフィールドがあります。大文字と小文字を区別するクエリでMongoDBコレクションをカウントする
1) _id 2) user_name 3) first_name 4) last_name
以下の値を有する。
ObjectId("5996e8308a4931d0e910cd2d") testuser Test User
ObjectId("5996fa9c8a4931d0e910cd31") devuser Dev User
私はユニークなフィールド "user_name"でユーザーカウントを取得しようとしています。私が以下の要求をした場合、私は正しいカウントを得ました。
var query = BSONDocument("user_name" -> "testuser")
val count = collection.db.command(
Count(
collection.name,
Some(query)
)
)
大文字と小文字を区別するクエリを使用してコレクションの数を取得するにはどうすればよいですか?例えば
、
var query = BSONDocument("user_name" -> "TestUser")
私は、以下のバージョンを使用しています:あなたの提案のための
scalaVersion := "2.11.8"
"org.reactivemongo" %% "reactivemongo" % "0.11.14"
これは、サーバーのMongoDBのバージョンと、使用している基本となるドライバのバージョンによって異なります。現代のMongoDBのバージョンでは、インデックスとその後のクエリ操作で大文字と小文字を区別しないオプションを定義することができます。最近のバージョンとドライバのサポートがなければ、フルコレクションスキャンを呼び出す正規表現を使用します。 –
@NeilLunnありがとう。私はreactmongo、scalaのバージョンを更新し、私の質問でMongoDBドライバを使用しました。 – SKK
ほとんどの場合、実際のサーバーのバージョンと、必要なオプションを発行するための最新のドライバリリースがあります。しかし、 "サーバー"は重要なことであり、少なくともMongoDB 3.4が必要です。 –