2017-10-16 5 views
0

私のmongodbには次のクエリがあります。どのように春のデータのMongoDBの同等のコードに変換するために:アカウントコレクションの

db.getCollection('account').find({ 
    colorList: {$elemMatch: { 
      $eq:"577b" 
     } 
    } 
}) 

1は、以下の通りです:

{ 
    "_id" : ObjectId("133b6ca05e7c058819ab6e6c"), 
    "fleetList" : [ 
     "577b", 
     "123b" 
    ] 
} 
+0

colorListはどのようなタイプですか? String、StringList、ObjectList? – barbakini

+0

上記のように「アカウント」コレクションが表示されます。 colorListはString []の型です。 – Zhichao

+0

fleetListまたはcolorList? – barbakini

答えて

0

代わりの$elemMatch$eqを使用して、あなたはあなたのために$inを使用することができますクエリも。このクエリは、クエリがまったく同じことを行います

db.account.find({ "colorList": { $in: ["577b"] } }); 

そして、このクエリの春・データ・MongoDBの方法については、次のとおりです。

List<Account> findByColorListIn(List<String> colorIds); //In your case colorIds list has one element only. 

あなたのクエリに固執する場合:

@Query("{'colorList': {\$elemMatch: {\$eq: ?0}}}") 
List<Account> findByColorList(String colorId) 
関連する問題