复合键的 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 调用它,糟糕 :)

我似乎无法删除该问题,但也许它会对执行复合键查询的人有所帮助...