本文整理了Java中com.mongodb.client.model.Updates.unset()
方法的一些代码示例,展示了Updates.unset()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Updates.unset()
方法的具体详情如下:
包路径:com.mongodb.client.model.Updates
类名称:Updates
方法名:unset
[英]Creates an update that deletes the field with the given name.
[中]创建一个更新,删除具有给定名称的字段。
代码示例来源:origin: Graylog2/graylog2-server
@Override
public void upgrade() {
if (clusterConfigService.get(MigrationCompleted.class) != null) {
LOG.debug("Migration already done.");
return;
}
// Do not overwrite an existing default index config
boolean defaultDone = clusterConfigService.get(DefaultIndexSetConfig.class) != null;
final ImmutableSet.Builder<String> builder = ImmutableSet.builder();
final FindIterable<Document> documents = collection.find(exists(FIELD_DEFAULT)).sort(ascending(FIELD_CREATION_DATE));
for (final Document document : documents) {
final ObjectId id = document.getObjectId(FIELD_ID);
final String idString = id.toHexString();
final boolean isDefault = firstNonNull(document.getBoolean(FIELD_DEFAULT), false);
if (!defaultDone && isDefault) {
defaultDone = true;
clusterConfigService.write(DefaultIndexSetConfig.create(idString));
}
final long modifiedCount = collection.updateOne(eq(FIELD_ID, id), unset(FIELD_DEFAULT)).getMatchedCount();
if (modifiedCount > 0) {
LOG.info("Removed <default> field from index set <{}> ({})", document.getString(FIELD_TITLE), idString);
builder.add(idString);
} else {
LOG.error("Couldn't remove <default> field from index set <{}> ({})", document.getString(FIELD_TITLE), idString);
}
}
clusterConfigService.write(MigrationCompleted.create(builder.build()));
}
代码示例来源:origin: com.holon-platform.mongo/holon-datastore-mongo-core
updates.add(Updates.unset(fieldName));
} else {
代码示例来源:origin: opencb/opencga
private void removePrivateVariableMap(long entryId, Map<String, String> privateVariableMapToSet, boolean isVersioned)
throws CatalogDBException {
Document queryDocument = new Document(PRIVATE_UID, entryId);
if (isVersioned) {
queryDocument.append(LAST_OF_VERSION, true);
}
for (Map.Entry<String, String> entry : privateVariableMapToSet.entrySet()) {
// We only want to remove the private variable map if it is not currently in use by any annotation set
queryDocument.append(AnnotationSetParams.VARIABLE_SET_ID.key(), new Document("$ne", Long.parseLong(entry.getKey())));
Bson unset = Updates.unset(AnnotationSetParams.PRIVATE_VARIABLE_SET_MAP.key() + "." + entry.getKey());
QueryResult<UpdateResult> update = getCollection().update(queryDocument, unset, new QueryOptions());
if (update.first().getModifiedCount() < 1 && update.first().getMatchedCount() == 1) {
throw new CatalogDBException("Could not remove private map information");
}
}
}
代码示例来源:origin: opencb/opencga
Bson updateStage = combine(
pull(StageDocumentToVariantConverter.STUDY_FILE_FIELD, studyId.toString()),
unset(studyId.toString()));
if (ids.size() == batchSize || !cursor.hasNext()) {
updatedStageDocuments += stageCollection.update(in("_id", ids), updateStage, new QueryOptions(MULTI, true))
studyUpdate.add(unset(String.valueOf(studyId) + '.' + fileId));
代码示例来源:origin: atlanmod/NeoEMF
@Override
public void removeContainer(Id id) {
checkNotNull(id, "id");
final String ownerId = idConverter.convert(id);
final Bson filter = and(eq(ModelDocument.F_ID, ownerId), exists(ModelDocument.F_CONTAINER));
final Bson update = unset(ModelDocument.F_CONTAINER);
documents.updateOne(filter, update);
}
代码示例来源:origin: de.otto.edison/edison-mongo
@Override
public String setValue(final String jobType,
final String key,
final String value) {
final Document previous;
if (value != null) {
previous = collection.findOneAndUpdate(eq(ID, jobType), set(key, value), UPSERT);
} else {
previous = collection.findOneAndUpdate(eq(ID, jobType), unset(key), UPSERT);
}
return previous != null
? previous.getString("key")
: null;
}
代码示例来源:origin: atlanmod/NeoEMF
@Override
public void removeValue(SingleFeatureBean feature) {
checkNotNull(feature, "feature");
final String ownerId = idConverter.convert(feature.owner());
final String featureId = Integer.toString(feature.id());
final String fieldName = concat(ModelDocument.F_SINGLE_FEATURE, featureId);
final Bson filter = and(eq(ModelDocument.F_ID, ownerId), exists(fieldName));
final Bson update = unset(fieldName);
documents.updateOne(filter, update);
}
代码示例来源:origin: otto-de/edison-microservice
@Override
public String setValue(final String jobType,
final String key,
final String value) {
final Document previous;
if (value != null) {
previous = collection.findOneAndUpdate(eq(ID, jobType), set(key, value), UPSERT);
} else {
previous = collection.findOneAndUpdate(eq(ID, jobType), unset(key), UPSERT);
}
return previous != null
? previous.getString("key")
: null;
}
代码示例来源:origin: opencb/opencga
List<Bson> updates = new LinkedList<>();
for (Integer fileId : fileIds) {
updates.add(unset(studyId + "." + fileId));
代码示例来源:origin: opencb/opencga
Bson combine = combine(pull(StageDocumentToVariantConverter.STUDY_FILE_FIELD, studyId.toString()), unset(studyId.toString()));
logger.debug("removeStudy: stage query = " + eq.toBsonDocument(Document.class, MongoClient.getDefaultCodecRegistry()));
logger.debug("removeStudy: stage update = " + combine.toBsonDocument(Document.class, MongoClient.getDefaultCodecRegistry()));
代码示例来源:origin: atlanmod/NeoEMF
@Override
public void removeAllValues(SingleFeatureBean feature) {
checkNotNull(feature, "feature");
final String ownerId = idConverter.convert(feature.owner());
final String fieldName = ModelDocument.F_MANY_FEATURE;
final Bson filter = and(eq(ModelDocument.F_ID, ownerId), exists(fieldName));
final Bson update = unset(fieldName);
documents.updateOne(filter, update);
}
代码示例来源:origin: org.graylog2/graylog2-server
@Override
public void upgrade() {
if (clusterConfigService.get(MigrationCompleted.class) != null) {
LOG.debug("Migration already done.");
return;
}
// Do not overwrite an existing default index config
boolean defaultDone = clusterConfigService.get(DefaultIndexSetConfig.class) != null;
final ImmutableSet.Builder<String> builder = ImmutableSet.builder();
final FindIterable<Document> documents = collection.find(exists(FIELD_DEFAULT)).sort(ascending(FIELD_CREATION_DATE));
for (final Document document : documents) {
final ObjectId id = document.getObjectId(FIELD_ID);
final String idString = id.toHexString();
final boolean isDefault = firstNonNull(document.getBoolean(FIELD_DEFAULT), false);
if (!defaultDone && isDefault) {
defaultDone = true;
clusterConfigService.write(DefaultIndexSetConfig.create(idString));
}
final long modifiedCount = collection.updateOne(eq(FIELD_ID, id), unset(FIELD_DEFAULT)).getMatchedCount();
if (modifiedCount > 0) {
LOG.info("Removed <default> field from index set <{}> ({})", document.getString(FIELD_TITLE), idString);
builder.add(idString);
} else {
LOG.error("Couldn't remove <default> field from index set <{}> ({})", document.getString(FIELD_TITLE), idString);
}
}
clusterConfigService.write(MigrationCompleted.create(builder.build()));
}
代码示例来源:origin: opencb/opencga
public static long cleanStageCollection(MongoDBCollection stageCollection, int studyId, int fileId) {
//Delete those studies that have duplicated variants. Those are not inserted, so they are not new variants.
long modifiedCount = stageCollection.update(
and(exists(studyId + "." + fileId + ".1"), exists(studyId + "." + NEW_STUDY_FIELD, false)),
unset(Integer.toString(studyId)),
new QueryOptions(MongoDBCollection.MULTI, true)).first().getModifiedCount();
modifiedCount += stageCollection.update(
exists(studyId + "." + fileId),
combine(
// unset(studyId + "." + fileId),
set(studyId + "." + fileId, null),
set(studyId + "." + NEW_STUDY_FIELD, false)
), new QueryOptions(MongoDBCollection.MULTI, true)).first().getModifiedCount();
return modifiedCount;
}
代码示例来源:origin: de.bwaldvogel/mongo-java-server-test-common
@Test
public void testUpdateUnset() throws Exception {
Document obj = json("_id: 1, a: 1, b: null, c: 'value'");
collection.insertOne(obj);
assertMongoWriteException(() -> collection.updateOne(obj, json("$unset: {_id: ''}")),
66, "Performing an update on the path '_id' would modify the immutable field '_id'");
collection.updateOne(obj, json("$unset: {a:'', b:''}"));
assertThat(collection.find().first()).isEqualTo(json("_id: 1, c: 'value'"));
collection.updateOne(obj, Updates.unset("c.y"));
assertThat(collection.find().first()).isEqualTo(json("_id: 1, c: 'value'"));
collection.replaceOne(json("_id: 1"), json("a: {b: 'foo', c: 'bar'}"));
collection.updateOne(json("_id: 1"), json("$unset: {'a.b':1}"));
assertThat(collection.find().first()).isEqualTo(json("_id: 1, a: {c: 'bar'}"));
}
代码示例来源:origin: opencb/opencga
@Override
public QueryResult<Long> deleteConfig(String userId, String name) throws CatalogDBException {
long startTime = startQuery();
// Insert the config
Bson bsonQuery = Filters.and(
Filters.eq(QueryParams.ID.key(), userId),
Filters.exists(QueryParams.CONFIGS.key() + "." + name)
);
Bson update = Updates.unset(QueryParams.CONFIGS.key() + "." + name);
QueryResult<UpdateResult> queryResult = userCollection.update(bsonQuery, update, null);
if (queryResult.first().getModifiedCount() == 0) {
throw new CatalogDBException("Could not delete " + name + " configuration ");
}
QueryResult<User> userQueryResult = get(userId, new QueryOptions(), "");
if (userQueryResult.getNumResults() == 0) {
throw new CatalogDBException("Internal error: Could not retrieve user " + userId + " information");
}
return endQuery("Delete config", startTime, Arrays.asList(queryResult.first().getModifiedCount()));
}
内容来源于网络,如有侵权,请联系作者删除!