本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
$exists
$exists 運算子用於檢查某個欄位是否存在於文件中。在 Amazon DocumentDB 中使用稀疏索引時$exists特別有用,其中索引欄位可能不存在於所有文件中。
若要使用您在查詢中建立的稀疏索引,您必須在涵蓋索引的欄位上使用 $exists 子句。如果您省略 $exists,Amazon DocumentDB 將不會使用查詢的稀疏索引。
參數
-
field:要檢查是否存在的欄位名稱。 -
value:布林值 (true或false),指定相符文件中的欄位是否應該存在 (true) 或不存在 (false)。
範例 (MongoDB Shell)
下列範例示範在food集合中的 special_diets 欄位上使用 $exists運算子搭配稀疏索引。
建立範例文件
db.food.insertMany([ { _id: 1, name: "Apple", special_diets: ["vegetarian", "gluten-free"] }, { _id: 2, name: "Broccoli" }, { _id: 3, name: "Chicken", special_diets: ["dairy-free"] } ]);
在 `special_diets` 欄位上建立稀疏索引
db.food.createIndex({ "special_diets": 1 }, { sparse: true, name: "special_diets_sparse_asc" });
查詢範例
db.food.find({ "special_diets": { $exists: true } });
輸出
[
{ "_id" : 1, "name" : "Apple", "special_diets" : [ "vegetarian", "gluten-free" ] },
{ "_id" : 3, "name" : "Chicken", "special_diets" : [ "dairy-free" ] }
]
程式碼範例
若要檢視使用 $exists命令的程式碼範例,請選擇您要使用的語言標籤: