我是Mongodb的新手。我在mongodb中有以下數據集。Mongodb在java中查詢嵌套文檔
{
"_id": {
"$oid": "563644f44b17ca12886440a9"
},
"data": [
{
"uid": 1,
"character": " ",
"unicode": 32,
"color": -7309587
},
{
"uid": 2,
"character": "!",
"unicode": 33,
"color": -8911704
},
{
"uid": 3,
"character": "\"",
"unicode": 34,
"color": -1778539
}
我想從_id和字符中檢索此字段的顏色。我無法執行查詢。
這就是我試過的。
DBObject clause1 = new BasicDBObject("_id",new ObjectId(KEY1));
DBObject clause2 = new BasicDBObject("data.character",text[i]);
BasicDBList or = new BasicDBList();
or.add(clause1);
or.add(clause2);
DBObject query = new BasicDBObject("$and", or);
另外,我在尋找方法在mongodb-java中查詢3.0.0+ api有很多問題。有人可以幫忙嗎?
作爲一個輸出,你只需要'data.color'作爲特定的'_id'&'data.character'。對? –
是的,非常。 – Amriteya
然後,我想你需要[展開](https://docs.mongodb.org/manual/reference/operator/aggregation/unwind/)數據數組,並使用'$ match'和'$ projection'運算符來聚合你可以做到這一點。 –