我无法理解为什么我当前的查询没有返回正确的结果,这是我的代码:
private final LinkedBlockingQueue<Result> results = new LinkedBlockingQueue<Result>();
@Override
public void run() {
while (!data.isEmpty()) {
for (LocalTime dataTime : data) {
if (new LocalTime().isAfter(dataTime)) {
results.put(result);
}
}
}
}
public Result takeResult() {
return results.take();
}
以下是扩展结果的屏幕截图:
http://php.net/manual/en/function.json-encode.php
即使我查询评级范围0 - 1000(全部可能),我的结果也不会返回所有结果吗?!
答案 0 :(得分:1)
特殊数组元素的多个条件是$elemMatch
的用途:
db.getCollection('players').find({
"ratings": { "$elemMatch": {
"gameRatingType" : 'standard',
"rating" : { "$gt": 234, "$lt": 235 }
}}
})
否则查询只是希望看到&#34;任何&#34; array元素包含您想要的条件。这确保了它在同一个&#34;数组元素,而不仅仅是文档中某处包含的元素。