gpt4 book ai didi

javascript - 使用 Node.js 和 MongoDB 进行实时搜索

转载 作者:太空宇宙 更新时间:2023-11-04 03:04:33 24 4
gpt4 key购买 nike

所以我正在尝试制作一个实时搜索功能,用户可以根据用户名搜索其他用户,相关结果将显示在网页上。到目前为止,我只遇到过展示如何为 PHP 和 MySQL 执行此操作的资源。 Node.js 和 MongoDB 如何实现这一点?我在我的项目中使用socket.io,这可以使用吗?

感谢您的帮助,如果需要我的任何代码,请告诉我!

最佳答案

基本上,您会观察用户何时在用户名输入字段中写入(使用 keyup 事件)并使用 socket.io 将输入字段的值发送到服务器,在服务器上,当您收到事件中的值时,您将使用该值对数据库(mongoose 中的 model.findOne)进行查询,并返回用户(如果存在)。 这里的关键是让数据库对用户名建立索引,以便更快地搜索,方法是使用户名字段在 mongoose 中唯一,或者手动创建新索引。

示例:

使用 jquery 进行前端

$(document).ready(function() {
var username = $('#username');
username.keyup(function() {
var value = username.val();
socket.emit('find_user', value);
});
});

socket.on('find_user_result', function(user) {
// treat result here
});

后端与 Mongoose :

socket.on('find_user', function(value) {
User.findOne({username: value}, function(err, user) {
if (err) throw err;
if (!user) socket.emit('find_user_result', {});
else socket.emit('find_user_result', user);
});
})

关于javascript - 使用 Node.js 和 MongoDB 进行实时搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44360310/

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