/** * Returns true if the value of the key is a BsonNull, returns false if the document does not contain the key. * * @param key the key * @return true if the value of the key is a BsonNull, returns false if the document does not contain the key. */ public boolean isNull(final Object key) { if (!containsKey(key)) { return false; } return get(key).isNull(); }
break; struct.put(key, keyvalueforStruct.getValue().isNull() ? null : colValue);
check(doc.get("string").asString().getValue()).is("foo"); check(doc.get("null").getBsonType()).is(BsonType.NULL); check(doc.get("null").isNull()); check(doc.get("array").getBsonType()).is(BsonType.ARRAY); check(doc.get("array").asArray()).isEmpty();
@Override public boolean documentHasId(final T t) { final BsonValue readValue = getDocumentId(t); return readValue != null && !readValue.isNull(); }
public QueryResult<String> distinct(String key, Bson query) { long start = startQuery(); List<String> l = new ArrayList<>(); MongoCursor<BsonValue> iterator = mongoDBNativeQuery.distinct(key, query, BsonValue.class).iterator(); while (iterator.hasNext()) { BsonValue value = iterator.next(); if (value == null || value.isNull()) { l.add(null); } else if (value.isString()) { l.add(value.asString().getValue()); } else { throw new IllegalArgumentException("Found result with BsonType != " + BsonType.STRING + " : " + value.getBsonType()); } } return endQuery(l, start); }
.concat("=") .concat(DOC_ID_TYPE.NUMBER.name()); } else if (docId.isNull()) { uri = URLUtils.removeTrailingSlashes(parentUrl) .concat("/_null");
} else if (json.isNull()) {
private static JsonValue mapBsonValueToJsonValue(@Nullable final BsonValue bsonValue, final Function<String, String> jsonKeyNameReviser) { final JsonValue result; if (bsonValue == null || bsonValue.isNull()) { result = JsonFactory.nullLiteral(); } else if (bsonValue.isString()) { result = JsonFactory.newValue(bsonValue.asString().getValue()); } else if (bsonValue.isNumber()) { result = mapBsonNumberToJsonNumber(bsonValue.asNumber()); } else if (bsonValue.isDocument()) { result = mapBsonDocumentToJsonObject(bsonValue.asDocument(), jsonKeyNameReviser); } else if (bsonValue.isArray()) { result = mapBsonArrayToJsonArray(bsonValue.asArray(), jsonKeyNameReviser); } else if (bsonValue.isBoolean()) { result = JsonFactory.newValue(bsonValue.asBoolean().getValue()); } else if (bsonValue.isTimestamp()) { final Instant instant = Instant.ofEpochSecond(bsonValue.asTimestamp().getTime()); result = JsonFactory.newValue(instant.toString()); } else { result = JsonFactory.nullLiteral(); } return result; }
protected static BsonDocument generateUpsertOrReplaceDoc(BsonDocument keyDoc, BsonDocument valueDoc, BsonDocument filterDoc) { if (!valueDoc.containsKey(JSON_DOC_AFTER_FIELD) || valueDoc.get(JSON_DOC_AFTER_FIELD).isNull() || !valueDoc.get(JSON_DOC_AFTER_FIELD).isDocument() || valueDoc.getDocument(JSON_DOC_AFTER_FIELD).isEmpty()) { throw new DataException("error: valueDoc must contain non-empty 'after' field" + " of type document for insert/update operation"); } BsonDocument upsertDoc = new BsonDocument(); if(filterDoc.containsKey(DBCollection.ID_FIELD_NAME)) { upsertDoc.put(DBCollection.ID_FIELD_NAME,filterDoc.get(DBCollection.ID_FIELD_NAME)); } BsonDocument afterDoc = valueDoc.getDocument(JSON_DOC_AFTER_FIELD); for (String f : afterDoc.keySet()) { if (!keyDoc.containsKey(f)) { upsertDoc.put(f,afterDoc.get(f)); } } return upsertDoc; }
protected static BsonDocument generateUpsertOrReplaceDoc(BsonDocument keyDoc, BsonDocument valueDoc, BsonDocument filterDoc) { if (!valueDoc.containsKey(JSON_DOC_AFTER_FIELD) || valueDoc.get(JSON_DOC_AFTER_FIELD).isNull() || !valueDoc.get(JSON_DOC_AFTER_FIELD).isDocument() || valueDoc.getDocument(JSON_DOC_AFTER_FIELD).isEmpty()) { throw new DataException("error: valueDoc must contain non-empty 'after' field" + " of type document for insert/update operation"); } BsonDocument upsertDoc = new BsonDocument(); if(filterDoc.containsKey(DBCollection.ID_FIELD_NAME)) { upsertDoc.put(DBCollection.ID_FIELD_NAME,filterDoc.get(DBCollection.ID_FIELD_NAME)); } BsonDocument afterDoc = valueDoc.getDocument(JSON_DOC_AFTER_FIELD); for (String f : afterDoc.keySet()) { if (!keyDoc.containsKey(f)) { upsertDoc.put(f,afterDoc.get(f)); } } return upsertDoc; }
&& !_args.isNull() && !(_args.isArray() || _args.isDocument())) {
public static DocValue translateBSON(BsonValue value) { if (value == null || value.isNull()) { return NullValue.INSTANCE;