如何查询匹配正则表达式的 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" ] }
广告