成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MongoDB原來也就這么回事!

數據庫 其他數據庫
在這篇文章中,我們討論了如何在MongoDB中檢查字段是否存在。我們使用可以使用一個基本的查詢來檢查一個字段是否存在。也采用了com.mongodb.client.model.Filters和Document查詢方法來檢查字段的存在。

大家好,我是指北君。

在本文中,我們來聊聊如何在 MongoDB 中檢查一個字段是否存在。

首先,我們需要創建一個簡單的Mongo數據庫, 然后放入一些假數據,以便在例子中使用。之后,我們將實戰一下如何在 Mongo 客戶端中進行查詢以及在 Java 代碼中檢查字段是否存在。

示例配置

首先,讓我們把Mongo shell上下文切換到一個存在的數據庫。

use javanorth

我們將在users集合中插入一個用戶。

db.users.insert({name: "java", surname: "north" })

現在我們已經做好了準備工作,接下去就講講如何檢查字段是否存在。

在Mongo Shell中檢查字段是否存在

我們能夠通過基本的查詢來檢查特定字段的存在與否,例如在Mongo Shell或其他數據庫控制臺。Mongo提供了一個特殊的查詢操作符,$exists方便我們查詢驗證。

db.users.find({ 'name' : { '$exists' : true }})

我們先使用一個標準的find? 方法,在這個方法中,我們指定我們要查詢的字段,并使用$exists?查詢操作符。如果name?字段在users集合中存在,所有包含該字段的記錄都將會被返回。

[
{
"_id": {"$oid": "6115ad91c4999031f8e6f582"},
"name": "java",
"surname": "north"
}
]

如果該字段不存在,我們將得到一個空的結果。

在Java中檢查字段的存在性

我們先添加Mongo driver 這個Maven的依賴包

<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.10</version>
</dependency>

然后通過代碼構建一個連接到數據庫

MongoClient mongoClient = new MongoClient();
MongoDatabase db = mongoClient.getDatabase("javanorth");
MongoCollection<Document> collection = db.getCollection("users");

使用過濾器

com.mongodb.client.model.Filters?是Mongo依賴的一個工具類,包含了很多有用的方法。我們就只需要使用exists()方法。

Document nameDoc = collection.find(Filters.exists("name")).first();
assertNotNull(nameDoc);
assertFalse(nameDoc.isEmpty());

首先,我們嘗試從users?集合中尋找元素,并得到第一個找到的元素。如果指定的字段存在,我們得到一個nameDoc文檔作為響應。

現在,讓我們來看看當我們試圖找到一個不存在的字段時會發生什么。

Document nameDoc = collection.find(Filters.exists("non_existing")).first();
assertNull(nameDoc);

如果沒有找到元素,我們會得到一個 null 的Document作為響應。

使用 Document 查詢

com.mongodb.client.model.Filters?類并不是檢查字段存在的唯一方法。我們也可以使用com.mongodb.BasicDBObject:的來查詢驗證。

Document query = new Document("name", new BasicDBObject("$exists", true));
Document doc = collection.find(query).first();
assertNotNull(doc);
assertFalse(doc.isEmpty());

結果與前面的例子相同。如果元素被找到了,我們會收到一個非null的Document。

當我們試圖找一個不存在的字段時,代碼的結果也是一樣的。

Document query = new Document("non_existing", new BasicDBObject("$exists", true));
Document doc = collection.find(query).first();
assertNull(doc);

如果沒有找到任何元素,我們會得到一個null 的 Document 作為響應。

總結

在這篇文章中,我們討論了如何在MongoDB中檢查字段是否存在。我們使用可以使用一個基本的查詢來檢查一個字段是否存在。也采用了com.mongodb.client.model.Filters和Document查詢方法來檢查字段的存在。

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2020-03-04 08:47:10

Kafka架構原理

2020-06-30 08:12:32

VMwareKVMDocker

2018-06-04 08:40:20

磁盤分區MBR

2022-08-15 08:01:00

三色標記JVM算法

2021-07-29 16:56:59

微信騰訊注冊

2025-04-03 10:39:56

2020-06-17 14:13:29

索引數據庫場景

2025-02-12 08:21:55

OllamaChatboxDeepSeek

2021-04-19 05:42:51

Mmap文件系統

2021-11-19 11:16:29

Git命令Linux

2020-11-27 09:20:56

零拷貝底層技術

2023-11-01 14:49:07

2010-04-22 14:38:24

培訓

2014-04-02 10:20:20

銳捷網絡云課堂

2022-12-06 17:30:04

2023-05-07 23:22:24

golang

2015-12-15 16:54:00

戴爾云計算

2015-05-07 10:10:06

云應用開發開發者云平臺

2016-05-09 10:27:36

MySQLHive數據遷移

2012-01-11 09:15:45

Objective-C
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美激情a∨在线视频播放 成人免费共享视频 | 亚洲午夜精品 | 在线天堂免费中文字幕视频 | 亚洲永久入口 | 天天久 | 成人一区二区三区在线 | 久久精品色欧美aⅴ一区二区 | 91精品入口蜜桃 | 国产黄色av网站 | www精品美女久久久tv | 国产一区二 | 精品欧美一区二区中文字幕视频 | 久久精品国产清自在天天线 | 午夜免费观看网站 | 欧美日韩视频在线 | a级黄色片视频 | 亚洲精品一区在线观看 | 日韩电影中文字幕 | 激情婷婷成人 | av喷水| 久久精品国产99国产精品 | 午夜专区| 国产精品爱久久久久久久 | 81精品国产乱码久久久久久 | 日韩欧美国产精品一区二区三区 | 午夜资源 | 国产精品免费一区二区三区四区 | 亚洲一区二区久久久 | 国产精品成人一区二区三区夜夜夜 | 国产美女精品视频免费观看 | 欧美在线一区二区三区 | 国产精品揄拍一区二区 | 国产一区二区 | 国产成人麻豆免费观看 | 国精产品一区二区三区 | 国产一区二区三区亚洲 | 97影院在线午夜 | 亚洲一区| 2022精品国偷自产免费观看 | 亚洲成人av一区二区 | 中国一级特黄真人毛片免费观看 |