當前位置: 首頁>>代碼示例>>Java>>正文


Java Filters類代碼示例

本文整理匯總了Java中com.mongodb.client.model.Filters的典型用法代碼示例。如果您正苦於以下問題:Java Filters類的具體用法?Java Filters怎麽用?Java Filters使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Filters類屬於com.mongodb.client.model包,在下文中一共展示了Filters類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: additionalPropertiesInPojoTest

import com.mongodb.client.model.Filters; //導入依賴的package包/類
@Test
public void additionalPropertiesInPojoTest() {
    MongoCollection<Document> collection = mongoClient.getDatabase("test").getCollection("documents");

    MorePropertiesPojo pojo = new MorePropertiesPojo();
    pojo.someNonPersistableString = "do not persist me!";
    pojo.aString = "persistable String";
    pojo.anInt = 22;

    // first insert
    collection.withDocumentClass(MorePropertiesPojo.class).insertOne(pojo);

    // second insert
    pojo.id = null;
    collection.withDocumentClass(CompletePojo.class).insertOne(pojo);

    CompletePojo readPojo = collection.withDocumentClass(CompletePojo.class).find(Filters.eq("_id", pojo.id)).first();

    Assert.assertEquals(readPojo.aString, pojo.aString);

}
 
開發者ID:axelspringer,項目名稱:polymorphia,代碼行數:22,代碼來源:NonRegisteredModelClassTest.java

示例2: getPendingDataLoader

import com.mongodb.client.model.Filters; //導入依賴的package包/類
public O2MSyncDataLoader getPendingDataLoader() {
	O2MSyncDataLoader loader = null;
	Document document = syncEventDoc.findOneAndUpdate(
			Filters.and(Filters.eq(SyncAttrs.STATUS, SyncStatus.PENDING),
					Filters.eq(SyncAttrs.EVENT_TYPE, String.valueOf(EventType.System))),
			Updates.set(SyncAttrs.STATUS, SyncStatus.IN_PROGRESS),
			new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
					.projection(Projections.include(SyncAttrs.SOURCE_DB_NAME, SyncAttrs.SOURCE_USER_NAME)));
	if (document != null && !document.isEmpty()) {
		Object interval = document.get(SyncAttrs.INTERVAL);
		String appName = document.getString(SyncAttrs.APPLICATION_NAME);
		if(interval!=null && interval instanceof Long){
			loader = new O2MSyncDataLoader((Long)interval, appName);
		}else{
			loader = new O2MSyncDataLoader(120000, appName);
		}
		loader.setEventId(document.getObjectId(SyncAttrs.ID));
		loader.setDbName(document.getString(SyncAttrs.SOURCE_DB_NAME));
		loader.setDbUserName(document.getString(SyncAttrs.SOURCE_USER_NAME));
		loader.setStatus(document.getString(SyncAttrs.STATUS));
	}
	return loader;
}
 
開發者ID:gagoyal01,項目名稱:mongodb-rdbms-sync,代碼行數:24,代碼來源:SyncEventDao.java

示例3: getFilterBson

import com.mongodb.client.model.Filters; //導入依賴的package包/類
public static Bson getFilterBson(MatchOperator operator , String attributeName , Object value){
	Bson filter = null;
	switch(operator){
	case GT : 
		filter=Filters.gt(attributeName, value);
		break;
	case LT : 
		filter=Filters.lt(attributeName, value);
		break;
	case GTE : 
		filter=Filters.gte(attributeName, value);
		break;
	case LTE : 
		filter=Filters.lte(attributeName, value);
		break;
	case EQ :
		filter=Filters.eq(attributeName, value);
		break;
	case NE : 
		filter=Filters.ne(attributeName, value);
		break;
	default :
		filter=Filters.eq(attributeName, value);
		break;
	}
	return filter;
}
 
開發者ID:gagoyal01,項目名稱:mongodb-rdbms-sync,代碼行數:28,代碼來源:MongoDbUtilities.java

示例4: deleteById

import com.mongodb.client.model.Filters; //導入依賴的package包/類
/**
 * 刪除記錄
 * 
 * @param collectionName
 *            表名
 * @param mongoObj
 *            記錄
 * @return
 */
public static boolean deleteById(String collectionName, MongoObj mongoObj) {
	MongoCollection<Document> collection = getCollection(collectionName);
	try {
		Bson filter = Filters.eq(MongoConfig.MONGO_ID, mongoObj.getDocument().getObjectId(MongoConfig.MONGO_ID));
		DeleteResult result = collection.deleteOne(filter);
		if (result.getDeletedCount() == 1) {
			return true;
		} else {
			return false;
		}
	} catch (Exception e) {
		if (log != null) {
			log.error("刪除記錄失敗", e);
		}
		return false;
	}

}
 
開發者ID:dianbaer,項目名稱:grain,代碼行數:28,代碼來源:MongodbManager.java

示例5: doTranslate

import com.mongodb.client.model.Filters; //導入依賴的package包/類
private Map<String, List<String>> doTranslate(Set<String> tokens) {
    MongoCollection<Document> lexColl = getLexCollection();
    FindIterable<Document> lexs = lexColl.find(Filters.in(TERM_FIELD, tokens));

    Map<String, List<String>> res = new HashMap<>();
    for (Document doc : lexs) {
        Document tr = (Document) doc.get(TRANSLATION_FIELD);

        if (tr != null) {
            tr.remove(NULL_VALUE);
            res.put(doc.getString(TERM_FIELD), getRelevantTranslations((Map) tr));
        }
    }

    return res;
}
 
開發者ID:Lambda-3,項目名稱:Indra,代碼行數:17,代碼來源:MongoIndraTranslator.java

示例6: retryEvent

import com.mongodb.client.model.Filters; //導入依賴的package包/類
public SyncEvent retryEvent(ObjectId eventId, boolean retryFailed, boolean retryEntire, boolean dropCollection) {
	Document updateQuery = new Document();
	updateQuery.append("$set", new Document(SyncAttrs.STATUS, SyncStatus.PENDING).append(SyncAttrs.IS_RETRY, true))
			.append("$unset", new Document(SyncAttrs.ERRORS, true).append(SyncAttrs.MARKER, true));
	if (retryFailed) {
		syncEvents.updateMany(
				Filters.and(Filters.eq(SyncAttrs.PARENT_EVENT_ID, eventId),
						Filters.eq(SyncAttrs.STATUS, SyncStatus.FAILED), Filters.ne(SyncAttrs.ID, eventId)),
				updateQuery);
		syncEvents.updateOne(Filters.eq(SyncAttrs.ID, eventId),
				Updates.set(SyncAttrs.STATUS, SyncStatus.IN_PROGRESS));
	} else {
		if (retryEntire) {
			syncEvents.updateMany(Filters.eq(SyncAttrs.PARENT_EVENT_ID, eventId),
					Updates.set(SyncAttrs.STATUS, SyncStatus.CANCELLED));
			syncEvents.updateOne(Filters.eq(SyncAttrs.ID, eventId), updateQuery);
		}
	}
	return getEvent(eventId);
}
 
開發者ID:gagoyal01,項目名稱:mongodb-rdbms-sync,代碼行數:21,代碼來源:SyncEventDao.java

示例7: main

import com.mongodb.client.model.Filters; //導入依賴的package包/類
public static void main(String[] args) {
    MongoClientOptions mongoClientOptions = new MongoClientOptions.Builder().codecRegistry(getCodecRegistry()).build();
    MongoClient mongoClient = new MongoClient(new ServerAddress("localhost", 27017), mongoClientOptions);

    MongoDatabase database = mongoClient.getDatabase("tutorial");
    MongoCollection<PolymorphicPojo> collection = database.getCollection("entities").withDocumentClass(PolymorphicPojo.class);

    // create some pojo
    Pojo pojo = new Pojo();
    pojo.setName("A nice name");
    pojo.setPojos(Arrays.asList(new SubPojo(42), new SubPojo(48)));

    // insert into db
    collection.insertOne(pojo);

    // read from db
    PolymorphicPojo foundPojo = collection.find(Filters.eq("_id", pojo.getId())).first();

    // output
    LOGGER.debug("Found pojo {}", foundPojo);
}
 
開發者ID:axelspringer,項目名稱:polymorphia,代碼行數:22,代碼來源:Tutorial.java

示例8: queryClientState

import com.mongodb.client.model.Filters; //導入依賴的package包/類
/**
 * Get the current ClientState of a client,
 * connected or not.
 * @param uuid The UUID of the client. This must be a valid
 *             UUID which belongs to a client. If the UUID is
 *             not found in the database or connected clients,
 *             then a RuntimeException is thrown.
 * @return The ClientState of the specified client with the UUID.
 */
public ClientState queryClientState(String uuid) {
    for(ClientSession session : this.sessions.values()) {
        if(session.getToken().getUuid().equals(uuid)) {
            return session.getState();
        }
    }

    // The session is not currently connected, so we need to check the database
    MongoCollection<Document> clients = NectarServerApplication.getDb().getCollection("clients");
    Document doc = clients.find(Filters.eq("uuid", uuid)).first();
    if(doc != null) {
        return ClientState.fromInt(doc.getInteger("state", ClientState.UNKNOWN.toInt()));
    }

    // We couldn't find the client in the database, so throw an exception
    throw new RuntimeException("Failed to find UUID " + uuid + "in connected sessions or in database. Is it invalid?");
}
 
開發者ID:jython234,項目名稱:nectar-server,代碼行數:27,代碼來源:SessionController.java

示例9: buildChecksumFile

import com.mongodb.client.model.Filters; //導入依賴的package包/類
private static void buildChecksumFile(File file, MongoCollection<Document> index, List<Document> toInsert, boolean isPublic) throws IOException {
    // Is a file, build the checksum then
    String checksum = Util.computeFileSHA256Checksum(file);
    Document fileDoc = index.find(Filters.eq("path", file.getAbsolutePath())).first();
    if(fileDoc == null) {
        toInsert.add(new Document()
                .append("path", file.getAbsolutePath())
                .append("storePath", Util.absoluteFTSToRelativeStore(file.getAbsolutePath()))
                .append("isPublic", isPublic)
                .append("checksum", checksum)
                .append("lastUpdatedBy", "server"));
    } else {
        String dbChecksum = fileDoc.getString("checksum");
        if(!checksum.equals(dbChecksum)) {
            // Checksum has changed, we assume the file has been changed by the server
            // This is because if a client changes it, the database will be updated
            index.updateOne(Filters.eq("path", file.getAbsolutePath()),
                    new Document("$set", new Document("checksum", checksum))
            ); // Update the checksum into the database

            index.updateOne(Filters.eq("path", file.getAbsolutePath()),
                    new Document("$set", new Document("lastUpdatedBy", "server"))
            ); // Change lastUpdatedBy to "server"
        }
        // else: Checksum has not changed, all is well
    }
}
 
開發者ID:jython234,項目名稱:nectar-server,代碼行數:28,代碼來源:FTSController.java

示例10: constructIndexJSON

import com.mongodb.client.model.Filters; //導入依賴的package包/類
@SuppressWarnings("unchecked")
private IndexJSON[] constructIndexJSON(MongoCollection<Document> index, boolean isPublic, String loggedInUser) {
    List<IndexJSON> list = new ArrayList();

    index.find(Filters.eq("isPublic", isPublic)).forEach((Consumer<? super Document>) (Document doc) -> {
        if(loggedInUser != null && doc.getString("storePath").startsWith(loggedInUser) && !isPublic) {
            // It's the user store
            list.add(
                    new IndexJSON(doc.getString("storePath"), doc.getString("checksum"), doc.getString("lastUpdatedBy")));
        } else if(isPublic)
            list.add(
                new IndexJSON(doc.getString("storePath"), doc.getString("checksum"), doc.getString("lastUpdatedBy")));
    });

    return list.toArray(new IndexJSON[list.size()]);
}
 
開發者ID:jython234,項目名稱:nectar-server,代碼行數:17,代碼來源:FTSController.java

示例11: collectVectors

import com.mongodb.client.model.Filters; //導入依賴的package包/類
@Override
protected void collectVectors(Collection<String> terms, int limit) {
    Set<String> toFetch = terms.stream()
            .filter(t -> !this.vectorsCache.containsKey(t))
            .collect(Collectors.toSet());

    logger.debug("Cache has {} vectors, need to fetch more {}",
            terms.size() - toFetch.size(), toFetch.size());

    if (!toFetch.isEmpty()) {
        logger.info("Collecting {} term vectors from {}", toFetch.size(), dbName);
        FindIterable<Document> docs = getTermsColl().find(Filters.in(TERM_FIELD_NAME, toFetch));
        if (docs != null) {
            docs.batchSize(toFetch.size());
            for (Document doc : docs) {
                this.vectorsCache.put(doc.getString(TERM_FIELD_NAME), unmarshall(doc, limit));
            }
        }
    }
}
 
開發者ID:Lambda-3,項目名稱:Indra,代碼行數:21,代碼來源:MongoVectorSpace.java

示例12: update

import com.mongodb.client.model.Filters; //導入依賴的package包/類
/**
 * @decription 更新數據
 * @author yi.zhang
 * @time 2017年6月2日 下午6:19:08
 * @param table	文檔名稱(表名)
 * @param obj
 * @return
 */
public int update(String table, Object obj) {
	try {
		if(session==null){
			init(servers, database, schema, username, password);
		}
		MongoCollection<Document> collection = session.getCollection(table);
		if (collection == null) {
			return 0;
		}
		JSONObject json = JSON.parseObject(JSON.toJSONString(obj));
		Document value = Document.parse(JSON.toJSONString(obj));
		collection.replaceOne(Filters.eq("_id", json.containsKey("_id")?json.get("_id"):json.get("id")), value);
		return 1;
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return -1;
}
 
開發者ID:dev-share,項目名稱:database-transform-tool,代碼行數:28,代碼來源:MongoDBFactory.java

示例13: delete

import com.mongodb.client.model.Filters; //導入依賴的package包/類
/**
 * @decription 刪除數據
 * @author yi.zhang
 * @time 2017年6月2日 下午6:19:25
 * @param table	文檔名稱(表名)
 * @param obj
 * @return
 */
public int delete(String table, Object obj) {
	try {
		if(session==null){
			init(servers, database, schema, username, password);
		}
		MongoCollection<Document> collection = session.getCollection(table);
		if (collection == null) {
			return 0;
		}
		JSONObject json = JSON.parseObject(JSON.toJSONString(obj));
		collection.findOneAndDelete(Filters.eq("_id", json.containsKey("_id")?json.get("_id"):json.get("id")));
		return 1;
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return -1;
}
 
開發者ID:dev-share,項目名稱:database-transform-tool,代碼行數:27,代碼來源:MongoDBFactory.java

示例14: getChatById

import com.mongodb.client.model.Filters; //導入依賴的package包/類
public static ChatObj getChatById(String chatId, String chatGroupId) {
	if (StringUtil.stringIsNull(chatId) || StringUtil.stringIsNull(chatGroupId)) {
		return null;
	}
	Bson filter = Filters.eq(ChatObj.CHAT_ID, chatId);
	List<ChatObj> list = MongodbManager.find(chatGroupId, filter, ChatObj.class, 0, 0);
	if (list != null && list.size() != 0) {
		return list.get(0);
	} else {
		return null;
	}
}
 
開發者ID:dianbaer,項目名稱:anychat,代碼行數:13,代碼來源:ChatActionMongodb.java

示例15: getUserChatNum

import com.mongodb.client.model.Filters; //導入依賴的package包/類
public static long getUserChatNum(String toTypeId, String fromUserId, String chatCreateTime) {
	if (StringUtil.stringIsNull(toTypeId) || StringUtil.stringIsNull(fromUserId)) {
		return 0;
	}
	Date date = null;
	if (!StringUtil.stringIsNull(chatCreateTime)) {
		date = TimeUtils.stringToDateDay(chatCreateTime);
	}
	Bson filter = null;
	if (!StringUtil.stringIsNull(chatCreateTime)) {
		filter = Filters.lt(ChatObj.CHAT_CREATE_TIME, String.valueOf(date.getTime()));
	}
	long count = MongodbManager.count(getUserToUserCollectionName(toTypeId, fromUserId), filter);
	return count;
}
 
開發者ID:dianbaer,項目名稱:anychat,代碼行數:16,代碼來源:ChatActionMongodb.java


注:本文中的com.mongodb.client.model.Filters類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。