我正在尝试从Collection中查找包含CropData的所有文档,其中cropName为RICE。这是由模拟人生成的模拟数据,用于测试API。
这就是我每1000份文档中的1份的样子:
{
"_id" : {
"ObjectId" : "5c603f99fc13ae49e8000000"
},
"_class" : "com.cheruvu.webapp.entity.Farmer",
"farmerReferenceId" : "a69a63e4-bbcc-4162-9484-cfc5bb6f4647",
"oneTimeDataEntered" : false,
"firstName" : "Rennie",
"phoneNumber" : "9822702624",
"CropData" : {
"crop" : "RICE",
"cropName" : "RICE",
"cropPrice" : "$74.75",
"cropAcres" : 27.0
},
"loc" : {
"type" : "Point",
"coordinates" : [
117.0,
-53.0
]
}
}
这是我的mongoDB工作查询:
db.getCollection('Farmer').find({"CropData.crop":"RICE"})
但是,当我通过查询对象在Spring中执行相同的操作时,它在Empty Array中返回,这是我的Spring函数:
public void returnFarmerList(String cropName, BasicResponse response) {
Query query = new Query();
query.addCriteria(Criteria.where(Farmer.Constants.CROP_DATA).exists(true));
query.addCriteria(Criteria.where(CropData.Constants.CROP_NAME).is(cropName));
response.setResponse(farmerDAO.runQuery(query, Farmer.class));
}
结果:
{
"response":"[]"
}