In DBCollection._checkKeys (pasted below), if the inner Object is an instance of List, it is not validated. It is possible, for instance, to have a List<BasicDBObject>> where the DBObjects in the list will not have their keys validated.
private void _checkKeys( DBObject o ) { if ( o instanceof LazyDBObject || o instanceof LazyDBList ) return; for ( String s : o.keySet() ){ validateKey ( s ); Object inner = o.get( s ); if ( inner instanceof DBObject ) { _checkKeys( (DBObject)inner ); } else if ( inner instanceof Map ) { _checkKeys( (Map<String, Object>)inner ); } } }
- is duplicated by
-
JAVA-794 Java driver fails to detect fields with dots (.) under certain circumstances
- Closed