mongoTemplate查询复合键

时间:2015-01-29 10:26:57

标签: mongodb spring-data mongotemplate

假设我有一个mongo集合如下:

/* 0 */
{
    "_id" : {
        "index" : "index1",
        "version" : 1
        }
}

/* 1 */
{
    "_id" : {
        "index" : "index2",
        "version" : 2
    }
}

/* 2 */
{
    "_id" : {
        "index" : "index1",
        "version" : 3
    }
}

我想使用Spring的mongoTemplate编写一个查询,只检索那些_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帮助我使用正确的查询语法吗?

1 个答案:

答案 0 :(得分:0)

抱歉,这不是一个真正有效的问题。我在问题中引用的mongoTemplate查询确实有效。我用错误的_id.index,oops :)来调用它。

我似乎无法删除这个问题,但也许它可以帮助某人进行复合键查询......