我將文檔插入字段爲byte []的集合中。當我查詢插入的文檔以獲取該字段時,它將返回不同的字節[]。我如何解決這個問題?使用Java在MongoDB中存儲byte []
byte[] inputBytes = ...
MongoCollection<Document> collection = _db.getCollection("collectionx");
Document doc = new Document("test", 1).append("val", inputBytes);
collection.insertOne(doc.getDocument());
MongoCursor<Document> result = collection.find(eq("test", 1)).iterator();
Document retrived_doc = cursor.next();
cursor.close();
byte[] outputBytes = ((Binary)retrived_doc.get("val")).getData();
// inputBytes = [[email protected]
// outputBytes = [[email protected]
什麼是 '不同'?你能發佈預期與實際結果嗎? – isnot2bad
期望outputBytes與inputBytes相同 – sanchapereira
但您只是比較輸入和輸出數組的'toString()'結果。這些只是反映他們在內存中的地址,而不是其內容。你爲什麼認爲這些地址應該是相同的? – isnot2bad