在 MongoDB 中不使用 $elemMatch 運算子查詢陣列中的精確匹配項?
作為一種替代方案,使用 $eq 運算子。我們先使用文件建立集合 −
> db.equalDemo.insertOne({_id:1,"StudentFriendNames":["John","Carol","Sam"]});
{ "acknowledged" : true, "insertedId" : 1 }
> db.equalDemo.insertOne({_id:2,"StudentFriendNames":null});
{ "acknowledged" : true, "insertedId" : 2 }
> db.equalDemo.insertOne({_id:3,"StudentFriendNames":["Carol"]});
{ "acknowledged" : true, "insertedId" : 3 }
> db.equalDemo.insertOne({_id:4,"StudentFriendNames":["Sam"]});
{ "acknowledged" : true, "insertedId" : 4 }以下是使用 find() 方法從集合中顯示所有文件的查詢 −
> db.equalDemo.find();
這將產生以下輸出 −
{ "_id" : 1, "StudentFriendNames" : [ "John", "Carol", "Sam" ] }
{ "_id" : 2, "StudentFriendNames" : null }
{ "_id" : 3, "StudentFriendNames" : [ "Carol" ] }
{ "_id" : 4, "StudentFriendNames" : [ "Sam" ] }以下是使用 $eq 獲取精確匹配項的查詢 −
> db.equalDemo.find({"StudentFriendNames":{$eq:["Carol"]}});這將產生以下輸出 −
{ "_id" : 3, "StudentFriendNames" : [ "Carol" ] }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP