复合键的 mongoTemplate 查询
mongoTemplate query for composite key
假设我有一个 mongo 集合如下:
/* 0 */
{
"_id" : {
"index" : "index1",
"version" : 1
}
}
/* 1 */
{
"_id" : {
"index" : "index2",
"version" : 2
}
}
/* 2 */
{
"_id" : {
"index" : "index1",
"version" : 3
}
}
我想使用 Spring 的 mongo 模板编写一个查询,以仅检索具有 _id.index = index1.
的那些文档
使用 mongo shell 我可以按如下方式编写此查询:
db.collectionName.find({"_id.index" : "index1"})
然而,我认为使用 mongoTemplate 会起作用的东西不起作用。我试过:
Query query = new Query();
query.addCriteria(Criteria.where("_id.index").is("index1"));
mongoTemplate.find(query, SomeJavaObject.class, COLLECTION_NAME);
任何人都可以使用 mongoTemplate 帮助我解决此查询的正确语法问题吗?
抱歉,这不是一个真正有效的问题。我在问题中引用的 mongoTemplate 查询确实有效。我用错误的 _id.index 调用它,糟糕 :)
我似乎无法删除该问题,但也许它会对执行复合键查询的人有所帮助...
假设我有一个 mongo 集合如下:
/* 0 */
{
"_id" : {
"index" : "index1",
"version" : 1
}
}
/* 1 */
{
"_id" : {
"index" : "index2",
"version" : 2
}
}
/* 2 */
{
"_id" : {
"index" : "index1",
"version" : 3
}
}
我想使用 Spring 的 mongo 模板编写一个查询,以仅检索具有 _id.index = index1.
的那些文档使用 mongo shell 我可以按如下方式编写此查询:
db.collectionName.find({"_id.index" : "index1"})
然而,我认为使用 mongoTemplate 会起作用的东西不起作用。我试过:
Query query = new Query();
query.addCriteria(Criteria.where("_id.index").is("index1"));
mongoTemplate.find(query, SomeJavaObject.class, COLLECTION_NAME);
任何人都可以使用 mongoTemplate 帮助我解决此查询的正确语法问题吗?
抱歉,这不是一个真正有效的问题。我在问题中引用的 mongoTemplate 查询确实有效。我用错误的 _id.index 调用它,糟糕 :)
我似乎无法删除该问题,但也许它会对执行复合键查询的人有所帮助...