BsonSerializationException解決

org.bson.BsonSerializationException: Maximum serialization depth exceeded (does the object being serialized have a circular reference?).

	at org.bson.AbstractBsonWriter.writeStartDocument(AbstractBsonWriter.java:283)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:190)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)
	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:182)
	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:199)

在Java連接MongoDB對文檔進行操作時出現了以上的錯誤異常,報的是什麼BSON序列化異常,仔細排查發現是由於文檔嵌套那一塊錯了

/***
     * 查詢文檔中所有size的總和
     */
    @Test
    public void selectDocumentAggregateSum(){
        MongoCollection collection = MongoAuthPoolUtil.getCollection("develop", "dev");
        List<Document> list = new ArrayList<>();

        Document sum = new Document();
        sum.append("$sum","$size");

        Document sizeAll = new Document();
        sizeAll.append("_id",null).append("sizeAll",sum);

        Document document = new Document();
        document.append("$group",sizeAll);

        list.add(document);

        AggregateIterable iterable = collection.aggregate(list);
        MongoCursor cursor = iterable.iterator();
        while(cursor.hasNext()){
            Document docu = (Document) cursor.next();
            System.out.println(docu.get("sizeAll"));
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章