我的mongodb有以下查询。如何将它转换为spring数据mongodb中的等效代码:
db.getCollection('account').find({
colorList: {$elemMatch: {
$eq:"577b"
}
}
})
其中一个帐户集合如下所示:
{
"_id" : ObjectId("133b6ca05e7c058819ab6e6c"),
"fleetList" : [
"577b",
"123b"
]
}
答案 0 :(得分:0)
您也可以使用$elemMatch
代替$eq
和$in
。此查询完全符合您的查询:
db.account.find({ "colorList": { $in: ["577b"] } });
对于此查询的spring-data-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)