gpt4 book ai didi

MongoDB 搜索仅返回特定字段

转载 作者:IT老高 更新时间:2023-10-28 13:25:27 24 4
gpt4 key购买 nike

我正在使用 MongoDB 中的 $text 功能来搜索某些单词,并且希望结果不是返回整个文档,而是仅返回该单词出现的特定字段。

我已经创建了文本索引:

db.Info.ensure_index(
[("Expenses.description", 'text'),
("fullName_normal", 'text')],
name="searchAll"
)

然后进行如下搜索:

text_results = db.Info.find_one({'$and': [{'$text': {'$search': "Hello"}, 'Username': 'John Doe'}]})   

这仅返回整个文档,我只想要出现“Hello”的特定字段。

文件如下:

{ 
"_id": {
"$oid": "54eb8555ccab9321bca808bf"
},
"fullName_normal": "username Hello",
"Expenses":[
{"description": "Hello",
"Title": "Widgets",
"ExpID": "mrsjxKvcSISbFQSSFvZI9g==",
"Paid": "yes"

}
],
"Username": "John Doe",
"Supplier": "no"
}

最佳答案

在 searchCriteria 文档之后添加投影文档:

.find(searchCriteria, projection)

您已经有了 searchCriteria,只需添加如下投影文档,其中 1 表示显示该字段,0 表示不显示该字段:

{_id: 0, username: 1, foo: 1}

关于MongoDB 搜索仅返回特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30002639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com