mongoDB 只取特定字段的值

mongo的java驱动里提供一些find方法,其中一个find方法参数如下

 DBCursor find( DBObject ref , DBObject keys )  DBCursor find( DBObject ref , DBObject keys )

   第一个 ref object for which to search

   第二个 keys fields to return

 

   这样看第2个参数就知道是设置取哪些字段回来的,但是这个是map,该怎么设置呢,ok我们参考下

   SQL to Mongo Mapping Chart

   http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart 中一段内容

 

 

SELECT a,b FROM users WHERE age=33db.users.find({age:33}, {a:1,b:1})

    ok 我们来试试看第2个参数设置为

    keys.put("field",1);

    测试通过

 

    但是这个貌似不是特别直观,参考另一篇文章

    Specifying What the Query Returns

    http://www.mongodb.org/display/DOCS/Tutorial

 

db.things.find({x:4}).forEach(printjson);

    keys.put("field",true);

    ok 测试发现也通过了

 

   好吧,java驱动版本的tutorial真是太少了,很多东西需要从其他版本翻译过来,尤其是从javascript语法翻译过来。