如何从mongodb文档Java中获取值

时间:2013-10-02 03:11:34

标签: java mongodb

我正在使用java和mongoDB。我有以下json,

{“_ id”:{“$ oid”:“524a27a318c533dc95edafe1”},“RoomNumber”:516,“RoomType”:“presidential”,“Reserved”:true,“RegularRate”:400.0,“Discount”:[ 0.85,0.75,1.0,1.0],“DiscountedRate”:0}

{“_ id”:{“$ oid”:“524a27a318c533dc95edafe2”},“RoomNumber”:602,“RoomType”:“presidential”,“Reserved”:false,“RegularRate”:500.0,“Discount”:[ 1,0.75,1.0,1.0],“DiscountedRate”:0}

{“_ id”:{“$ oid”:“524a27a318c533dc95edafe3”},“RoomNumber”:1315,“RoomType”:“Single”,“Reserved”:true,“RegularRate”:100.0,“Discount”:[ 1,1,1.0,1.0],“DiscountedRate”:0}

在集合中,文档具有不同的房间号。如果我知道房间号码,我将如何获得具有该房间号码的文档,然后获取该文档中的所有其他值。

例如,如果我有602,我希望能够获得房型:总统,保留:假,常规费率:500

由于

1 个答案:

答案 0 :(得分:0)

shell的查询是:

db.rooms.findOne({RoomNumber: 602}, {RoomType: 1, Reserved: 1, RegularRate:1, _id: 0});

使用本机mongo驱动程序:

BasicDBObject query = new BasicDBObject("RoomNumber", 602);
BasicDBObject projection = new BasicDBObject("RoomType", 1);
projection
.append("Reserved", 1)
.append("RegularRate", 1)
.append("_id", 0);
DBObject result = collection.findOne(query, projection);