假设我创建了以下的数据库/集合:
我可以帮助您翻译以下内容,涉及IT技术。需要将文本搜索应用于数组arr,并仅获取与搜索匹配的数组元素。
理想情况下,我希望在第一个文档中仅获得
use articles
db.stores.insert( [
{_id : 1, arr : ['abc xyz', 'def']},
{_id : 2, arr : ['jadskf', 'ljh abc']}])
db.stores.createIndex({"arr" : "text"})
我可以帮助您翻译以下内容,涉及IT技术。需要将文本搜索应用于数组arr,并仅获取与搜索匹配的数组元素。
例如:
> db.stores.find({$text : {$search : "abc"}})
{ "_id" : 1, "arr" : [ "abc xyz", "def" ] }
{ "_id" : 2, "arr" : [ "jadskf", "ljh abc" ] }
理想情况下,我希望在第一个文档中仅获得
arr
的第一个元素:abc xyz
,并且在第二个文档中仅获得arr
的第二个元素:ljh abc
,同时还要匹配文档的_id
。是否可能?如果是,怎么做呢?请注意,我想要的不仅仅是arr
元素的简单投影,而是匹配发生的arr
元素的投影。我正在使用Mongo 3.2.7。