MongoDB的Java驱动程序

问题描述:

考虑以下documnet结构查询过滤器:根据mongodb的网站MongoDB的Java驱动程序

{ 
"_id" : <ObjectId>, 
"name" : <string>, 
"contact" : { 
    "phone" : <string> 
    "email" : <string> 
    "location" : [ <longitude>, <latitude> ] 
    }, 
    "stars" : int, 
    "categories" : <array of strings> 
    "grades" : <array of integers>, 
    } 

以下查询指定

星星字段大于或等于2且小于5,以及 类别字段等于“面包”(或者,如果类别是一个数组,包含字符串“面包”作为元素):

collection.find(
    new Document("stars", new Document("$gte", 2) 
     .append("$lt", 5)) 
     .append("categories", "Bakery")).forEach(printBlock); 
  1. 有人可以解释我的查询结构吗?
  2. 为什么一个新文档创建(新文件( “$ GTE”,2)

查询看起来是这样的:?

{"stars"  : {$gte : 2, $lt : 5} 
"categories" : "Bakery"} 

新的文件( “$ GTE”,2)已被调用来创建内部json:{$ gte:2,$ lt:5}