java - 如何通过键名从 mongoDB 中检索值?

标签 java mongodb

我是 mongoDB 的新手。我正在使用 java 和 mongoDB。我有一个类似的json,

[{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"} , "HomeTown" : "AA" , 
"PhoneNumber" : { "CustName" : "xxx" , "Number" : "3403290"},
"MobileNumber" : { "CustName" : "yyy" , "Number" : "9323304302"}}]

    [{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"} , "HomeTown" : "AA" , 
"PhoneNumber" : { "CustName" : "xxx" , "Number" : "3403290"},
"MobileNumber" : { "CustName" : "yyy" , "Number" : "9323304302"}}]

    [{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"} , "HomeTown" : "BB" , 
"PhoneNumber" : { "CustName" : "xxx" , "Number" : "3403290"},
"MobileNumber" : { "CustName" : "yyy" , "Number" : "9323304302"}}]

    [{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"} , "HomeTown" : "BB" , 
"PhoneNumber" : { "CustName" : "xxx" , "Number" : "3403290"},
"MobileNumber" : { "CustName" : "yyy" , "Number" : "9323304302"}}]

在一个集合中,所有文档都有不同的 HomeTown,我只知道键名 HomeTown,我如何获得 HomeTown 值?

在 mongo 站点中,我只能找到 find()findOne()

谢谢!

最佳答案

find() 就够了。

db.CollectionName.find({},{HomeTown:1})

在java中,它会是:

BasicDBObject query = new BasicDBObject();
BasicDBObject field = new BasicDBObject();
field.put("HomeTown", 1);
DBCursor cursor = db.getCollection(collectionName).find(query,field);
while (cursor.hasNext()) {
    BasicDBObject obj = (BasicDBObject) cursor.next();
    result.add(obj.getString("HomeTown"));
}

关于java - 如何通过键名从 mongoDB 中检索值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4254039/

相关文章:

java - android 通过 MediaStore.ACTION_IMAGE_CAPTURE 拍照 - 指定图像大小

java - 我能否获得一些关于将方法引入我的工资计划的指导?

java - Grails XML 编码 : change default "<list>" root element name

django - 当集合在 mongo 数据库中有条目时,MongoEngine 对象返回空查询集

node.js - 如何根据 JSON 数据渲染多个部分?

java - 在 Spring 中编写自定义 PlaceholderResolver(如 PropertyPlaceholderConfigurerResolver)

java - Jackson 为 Type X 的所有字段添加自定义序列化程序

mongodb - Mongoid:使用 group by、distinct 和 count 操作进行查询

mongodb - Mongo Shell和代码结果返回不同的结果

python - PyMongo 在全文搜索中选择字段