我有一个文件,我想获取目录
我的mongo表目录以这种方式构建:
0
_id
_class
listOfFiles[2]
-0
$ref File
$id idmongodb1
-1
$ref File
$id idmongodb2
1
_id
_class
listOfFiles[1]
-0
$ref File
$id idmongodb3
我想知道如何通往idmongodb(1或2或3)
我的查询可以:
Query query = new Query();
query.addCriteria(
new Criteria().andOperator(
Criteria.where("listOfFiles.$id").is(new ObjectId(file.getId()))
)
);
return mongoTemplate.findOne(query,Directory.class);
工作?
我想要确认。
在我的JavaCode中,相应的类目录以这种方式建立
public class Directory{
public List<File> listOfFiles;
}
由于
答案 0 :(得分:1)
尝试$elemMatch
(http://docs.mongodb.org/manual/reference/operator/query/elemMatch)查询集合中的元素。
答案 1 :(得分:0)
查询
Query query = new Query();
query.addCriteria(
new Criteria().andOperator(
Criteria.where("listOfFiles.$id").is(new ObjectId(file.getId()))
)
);
return mongoTemplate.findOne(query,Directory.class);
实际上有效