Java:如何将一个hashmap插入MongoDB?

我有一个hashmap,我试图插入到MongoDB(版本3.6)。 我知道insertMany()方法 – 它只接受文档列表。 我无法创建列表,因为我的数据中有重复项,我想摆脱它们。 这就是我创建hashmap的原因。 有什么方法可以将hashmap插入Mongodb吗? 我找到了一个链接https://www.mkyong.com/mongodb/java-mongodb-insert-a-document/ ,其中显示了如何将地图插入Mongodb

collection.insert(new BasicDBObject(documentMap)); 

但是在新的mongoDB中不推荐使用BasicDBObject。 我的hashmap看起来像这样:

 -1322771423 [ecn, KeywordMatch, http://insidedell.com/ecn, ECN] -2144339676 [product marketing, PhraseMatch, http://dellemc.com/product, Products] -214203024 [jive, ExactMatch, http://test.com/jive, Jive test] -493382214 [search, ExactMatch, http://example.com, Search Consultancy] 

基本上我希望我的MongoDB集合看起来像这样:

 new_collection { _id: -493382214 query: ExactMatch, link: http://example.com, content: Search Consultancy } { _id: ... } 

编辑: 我的问题的背景 :我正在尝试将CS​​V文件插入MongoDB。 我的CSV文件有重复的行(相同的行)。 这就是为什么我必须将它们转换为hashmap而不是将它们存储在arrayList(Document)中。 我知道我们可以使用insertMany(List(Document))插入Mongodb,但我需要避免这些重复。

任何帮助表示赞赏。

使用for循环来映射_id和值,并将所有值收集到文档列表中。

就像是

 Map> inMap = new HashMap<>(); List documents = new ArrayList<>(); for(Map.Entry> kv :inMap.entrySet()) { Document doc = new Document(); doc.put("_id", kv.getKey()); List values = kv.getValue(); doc.put("query", values.get(0)); ... rest of values documents.add(doc); } collection.insertMany(documents);