檢查 MongoDB 中的列表是否不為空?


為此,請使用 $size 運算子。我們首先建立一個包含文件的集合 −

> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":["John","David"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdd99e8bf3115999ed511f7")
}
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":["Carol"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdd99e9bf3115999ed511f8")
}
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdd99ebbf3115999ed511f9")
}
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[null]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdd99f2bf3115999ed511fa")
}
> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdd99f6bf3115999ed511fb")
}

以下是使用 find() 方法從集合中顯示所有文件的查詢 −

> db.checkIfListIsNotEmptyDemo.find().pretty();

這會產生以下輸出 −

{
   "_id" : ObjectId("5cdd99e8bf3115999ed511f7"),
   "UserFriendGroup" : [
      "John",
      "David"
   ]
}
{
   "_id" : ObjectId("5cdd99e9bf3115999ed511f8"),
   "UserFriendGroup" : [
      "Carol"
   ]
}
{ "_id" : ObjectId("5cdd99ebbf3115999ed511f9"), "UserFriendGroup" : [ ] }
{
   "_id" : ObjectId("5cdd99f2bf3115999ed511fa"),
   "UserFriendGroup" : [
      null
   ]
}
{ "_id" : ObjectId("5cdd99f6bf3115999ed511fb"), "UserFriendGroup" : [ ] }

以下是檢查列表是否不為空的查詢 −

> db.checkIfListIsNotEmptyDemo.find({'UserFriendGroup': {'$not': {'$size': 0}}});

這會產生以下輸出 −

{ "_id" : ObjectId("5cdd99e8bf3115999ed511f7"), "UserFriendGroup" : [ "John", "David" ] }
{ "_id" : ObjectId("5cdd99e9bf3115999ed511f8"), "UserFriendGroup" : [ "Carol" ] }
{ "_id" : ObjectId("5cdd99f2bf3115999ed511fa"), "UserFriendGroup" : [ null ] }

更新於:2019 年 7 月 30 日

360 次瀏覽

啟動你的 職業

完成課程即可獲得認證

開始
廣告
© . All rights reserved.