gpt4 book ai didi

javascript - Mongoose :查找与输入相似的名称

转载 作者:可可西里 更新时间:2023-11-01 10:42:24 24 4
gpt4 key购买 nike

我有一个正在处理的自动完成输入框,我正在尝试制作一个 mongoose 端点,它将根据输入的数据为我获取用户对象。数据可能不完整,但它仍然应该得到相似的所有内容。例如:

var input = "st";

// Should return a user object like this one.

var userObject = {
name: {
full: 'Stephen Brinkworth',
first: 'Stephen',
last: 'Brinkworth'
}
};

我已经调查了这个问题,据我所见,推荐的端点如下所示。

User.find({name: {full: new RegExp(req.query.input, 'i')}}).exec(...);

我遇到的唯一问题是,当我使用这个端点时,我总是返回一个空数组。谁能帮我这个?非常感谢。

最佳答案

您需要使用 MongoDB 的 $regex查询运算符:

Provides regular expression capabilities for pattern matching strings in queries.

$regex 运算符可以使用文档中指定的以下语法之一来使用:

{ <field>: { $regex: /pattern/, $options: '<options>' } }  
{ <field>: { $regex: 'pattern', $options: '<options>' } }  
{ <field>: { $regex: /pattern/<options> } }

使用 $regex 运算符的简单解决方案是:

var nameRegex = new RegExp(req.query.input);
User.find({'name.full': {$regex: nameRegex, $options: 'i'}});

关于javascript - Mongoose :查找与输入相似的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36343986/

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