Mongo java驱动中,有没有封装好的函数,可以直接取到文档中的某个具体的值,而不是一个文档?或者有没有方法实现??

{"_id":"37389873",
"Date":{
"name":{"count":"7",
"user": "liyang",
}

     }

}

比如数据库中存的这个文档,我想取count中的值7,只取数字7,不要文档,改怎么实现呢??

阅读 5.1k
5 个回答

最后,我是将json字符串,利用jackson转换成map,然后利用map一层一层扒的,最后返回的才是一个数值

db.xxx.findOne({"_id":"37389873"}, {"Date.name.count": 1}).Date.name.count

运行效果

~/tmp
▶ cat mmm.js
#!/usr/bin/env mongo

var db = connect('test');
db.xxx.drop();
db.xxx.insert({
  "_id": "37389873",
  "Date":{
         "name":{"count":"7",
                 "user": "liyang",
                 }

         }

 });

print( db.xxx.findOne({"_id":"37389873"}, {"Date.name.count": 1}).Date.name.count );


~/tmp
▶ ./mmm.js
MongoDB shell version: 2.6.3
connecting to: test
connecting to: test
7

spring 的 mongodb 插件就可以满足

BasicQuery query = new BasicQuery(query,fields);

query 是查询条件
fields是要查询的字段

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进