0

我正在使用 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

谢谢

4

1 回答 1

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);
于 2013-10-02T04:47:54.493 回答