我是MongoDB的新手,請原諒我的無知。查詢和更新MongoDB中的不同文檔
我有一個MongoDB中包含了一堆文件,像這樣的東西
["field": "blah", "version":"1" ...]
["field": "blah", "version":"2" ...]
["field": "blah", "version":"1"....]
["field": "blah1", "version":"10"...]
["field": "blah2", "version":"100"...]
["field": "blah3", "version":"1"....]
["field": "blah3", "version":"2"....]
["field": "blah2", "version":"1"....
我試圖發送查詢列表,並獲取所有記錄作爲一個批次。是否有可能這樣做?
List<Docs> fetchDocs(Map<String, String> queries)
{
CriteriaContainer cc=null;
Query<Docs> query = this.mongoDao.createQuery(MyClass.class);
for (Map.Entry<String,String >entry : queries.entrySet())
{
if(cc ==null)
{
cc= query.criteria("Field").equal(entry.getKey()).and(query.criteria("version").equal(entry.getValue()));
}
else
{
cc.or(query.criteria("Field").equal(entry.getKey()).and(query.criteria("version").equal(entry.getValue()));)
}
}
query.and(cc);
List<Docs> doc = query.asList();
return doc;
}
我不是正確的名單。我不知道我是否已經正確地寫了這個查詢。
基本上,我希望獲取結果或查詢這樣
[{"Field":"blah,"version":1 } $or {"Field":"blah1", "version":10} ]
它應該返回我含
["field": "blah", "version":"1" ....]
["field": "blah1", "version":"10"....]
喜尼古拉斯分享它,我在做類似你通過創建充滿子查詢CriteriaContainer建議是什麼,但它不給我正確的結果。我只看到一條匹配上一個查詢條件的記錄。 – sachin