本文整理了Java中com.mongodb.client.model.Updates.inc()
方法的一些代码示例,展示了Updates.inc()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Updates.inc()
方法的具体详情如下:
包路径:com.mongodb.client.model.Updates
类名称:Updates
方法名:inc
[英]Creates an update that increments the value of the field with the given name by the given value.
[中]创建一个更新,将具有给定名称的字段的值按给定值递增。
代码示例来源:origin: com.cybermkd/MongodbPlugin
public MongoQuery inc(String key, Number value) {
data.add(Updates.inc(key, value));
return this;
}
代码示例来源:origin: T-baby/MongoDB-Plugin
public MongoQuery inc(String key, Number value) {
data.add(Updates.inc(key, value));
return this;
}
代码示例来源:origin: opencb/opencga
public long getNewAutoIncrementId(String field) { //, MongoDBCollection metaCollection
Bson query = METADATA_QUERY;
Document projection = new Document(field, true);
Bson inc = Updates.inc(field, 1L);
QueryOptions queryOptions = new QueryOptions("returnNew", true);
QueryResult<Document> result = metaCollection.findAndUpdate(query, projection, null, inc, queryOptions);
return result.getResult().get(0).getLong(field);
}
代码示例来源:origin: opencb/opencga
@Deprecated
static long getNewAutoIncrementId(String field, MongoDBCollection metaCollection) {
Bson query = Filters.eq(PRIVATE_ID, MongoDBAdaptorFactory.METADATA_OBJECT_ID);
Document projection = new Document(field, true);
Bson inc = Updates.inc(field, 1);
QueryOptions queryOptions = new QueryOptions("returnNew", true);
QueryResult<Document> result = metaCollection.findAndUpdate(query, projection, null, inc, queryOptions);
// return (int) Float.parseFloat(result.getResult().get(0).get(field).toString());
return result.getResult().get(0).getInteger(field);
}
代码示例来源:origin: org.nuxeo.ecm.core/nuxeo-core-storage-mongodb
protected synchronized Long getNextSequenceId() {
if (sequenceLeft == 0) {
// allocate a new sequence block
// the database contains the last value from the last block
Bson filter = Filters.eq(MONGODB_ID, COUNTER_NAME_UUID);
Bson update = Updates.inc(COUNTER_FIELD, Long.valueOf(sequenceBlockSize));
Document idCounter = countersColl.findOneAndUpdate(filter, update,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER));
if (idCounter == null) {
throw new NuxeoException("Repository id counter not initialized");
}
sequenceLeft = sequenceBlockSize;
sequenceLastValue = ((Long) idCounter.get(COUNTER_FIELD)).longValue() - sequenceBlockSize;
}
sequenceLeft--;
sequenceLastValue++;
return Long.valueOf(sequenceLastValue);
}
代码示例来源:origin: opencb/opencga
/***
* This method is called every time a file has been inserted, modified or deleted to keep track of the current study size.
*
* @param studyId Study Identifier
* @param size disk usage of a new created, updated or deleted file belonging to studyId. This argument
* will be > 0 to increment the size field in the study collection or < 0 to decrement it.
* @throws CatalogDBException An exception is launched when the update crashes.
*/
public void updateDiskUsage(long studyId, long size) throws CatalogDBException {
Bson query = new Document(QueryParams.UID.key(), studyId);
Bson update = Updates.inc(QueryParams.SIZE.key(), size);
if (studyCollection.update(query, update, null).getNumTotalResults() == 0) {
throw new CatalogDBException("CatalogMongoStudyDBAdaptor updateDiskUsage: Couldn't update the size field of"
+ " the study " + studyId);
}
}
}
代码示例来源:origin: org.nuxeo.ecm.platform/nuxeo-platform-directory-mongodb
if (autoincrementId) {
Document filter = MongoDBSerializationHelper.fieldMapToBson(MONGODB_ID, directoryName);
Bson update = Updates.inc(MONGODB_SEQ, 1L);
FindOneAndUpdateOptions options = new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER);
Long longId = getCountersCollection().findOneAndUpdate(filter, update, options).getLong(MONGODB_SEQ);
代码示例来源:origin: creactiviti/piper
@Override
public long decrement(String aCounterName) {
Document doc = collection
.findOneAndUpdate(
eq("_id", aCounterName),
inc(DSL.VALUE, -1),
new FindOneAndUpdateOptions()
.returnDocument(AFTER)
.projection(include(DSL.VALUE))
);
if (doc == null) {
throw new IllegalArgumentException("Counter not found: " + aCounterName);
}
return doc.getLong(DSL.VALUE);
}
代码示例来源:origin: opencb/opencga
private int generateId(String idType, boolean retry) throws StorageEngineException {
String field = COUNTERS_FIELD + '.' + idType;
Document projection = new Document(field, true);
Bson inc = Updates.inc(field, 1);
QueryOptions queryOptions = new QueryOptions("returnNew", true);
QueryResult<Document> result = collection.findAndUpdate(QUERY, projection, null, inc, queryOptions);
if (result.first() == null) {
if (retry) {
ensureProjectMetadataExists();
return generateId(idType, false);
} else {
throw new StorageEngineException("Error creating new ID. Project Metadata not found");
}
} else {
Document document = result.getResult().get(0);
Document counters = document.get(COUNTERS_FIELD, Document.class);
Integer id = counters.getInteger(idType);
// System.out.println("New ID " + idType + " : " + id);
return id;
}
}
内容来源于网络,如有侵权,请联系作者删除!