我正在使用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
由于
答案 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);