如何查詢匹配正則表示式的 Array[String]?


要針對 regexp 匹配來查詢 array 字串,請使用以下語法

db.yourCollectionName.find( { yourFieldName: /yourStartingValue./ } ).pretty();

讓我們首先建立一個包含文件的集合

> db.queryArrayDemo.insertOne({"StudentFullName":["Carol Taylor","Caroline
Williams","Claire Brown"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca2774c6304881c5ce84ba0")
}
> db.queryArrayDemo.insertOne({"StudentFullName":["John Smith","Jace Doe","Jabin
Brown"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca277b36304881c5ce84ba1")
}

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

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

這將產生以下輸出

{
   "_id" : ObjectId("5ca2774c6304881c5ce84ba0"),
   "StudentFullName" : [
      "Carol Taylor",
      "Caroline Williams",
      "Claire Brown"
   ]
}
{
   "_id" : ObjectId("5ca277b36304881c5ce84ba1"),
   "StudentFullName" : [
      "John Smith",
      "Jace Doe",
      "Jabin Brown"
   ]
}

以下是如何針對 regexp 匹配查詢 array 字串

> db.queryArrayDemo.find( { StudentFullName : /J./ } ).pretty();

這將產生以下輸出

{
   "_id" : ObjectId("5ca277b36304881c5ce84ba1"),
   "StudentFullName" : [
      "John Smith",
      "Jace Doe",
      "Jabin Brown"
   ]
}

更新於: 30-Jul-2019

162 次瀏覽

開啟你的 事業

完成課程並獲得認證

開始
廣告
© . All rights reserved.