Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用Node和Express的交互式搜索栏_Node.js_Mongodb_Express - Fatal编程技术网

Node.js 使用Node和Express的交互式搜索栏

Node.js 使用Node和Express的交互式搜索栏,node.js,mongodb,express,Node.js,Mongodb,Express,目前,我收到了一份初级职位的测试,他们希望在Node Express Mongo中获得以下内容 首先,他们需要一个搜索栏,在其中恢复参数,该参数作为一个查询发送到提供结果的API(MovieAPI)。他们希望在找到(单击)特定项(电影)时将其保存在mongoDB中的本地。我对这些都没有问题,我的问题是如何创建交互式搜索栏,我的意思是,我可以从API接收项目作为搜索的“建议”(当用户键入时)以及如何做到这一点 我希望收到多个建议,因此当用户单击单个项目时,它会直接保存到mongoDB并重定向到项目

目前,我收到了一份初级职位的测试,他们希望在Node Express Mongo中获得以下内容

首先,他们需要一个搜索栏,在其中恢复参数,该参数作为一个查询发送到提供结果的API(MovieAPI)。他们希望在找到(单击)特定项(电影)时将其保存在mongoDB中的本地。我对这些都没有问题,我的问题是如何创建交互式搜索栏,我的意思是,我可以从API接收项目作为搜索的“建议”(当用户键入时)以及如何做到这一点

我希望收到多个建议,因此当用户单击单个项目时,它会直接保存到mongoDB并重定向到项目信息

建议搜索栏不是任务的一部分,但如果可能的话,我想实现它

这里没有代码,只需要想法


提前谢谢

我认为MongoDB的全文搜索+nodejs WebSocket服务器。 我想是这样的

  • 客户端结束在搜索栏中键入

  • 客户发送建议请求

  • 服务器收到请求并请求对mongo进行全文搜索

  • 服务器从mongo发送响应

  • 客户端显示收到一条消息

  • 但请记住,MongoDB是一个数据库,而不是搜索引擎。我建议使用类似弹性搜索的东西

    但是如果您想要基于电影之间的连接(例如,相同的导演、演员等)的推荐,请选择一些图形数据库,如neo4j,因为基于文档的NoSQL不能很好地存储连接

    如果您的建议是基于数值的,您可以只搜索与搜索值最接近的电影


    如果API不能提供这些建议,我会搜索您当地的DB(不管它是什么类型),我认为MongoDB的全文搜索+nodejs WebSocket服务器。 我想是这样的

  • 客户端结束在搜索栏中键入

  • 客户发送建议请求

  • 服务器收到请求并请求对mongo进行全文搜索

  • 服务器从mongo发送响应

  • 客户端显示收到一条消息

  • 但请记住,MongoDB是一个数据库,而不是搜索引擎。我建议使用类似弹性搜索的东西

    但是如果您想要基于电影之间的连接(例如,相同的导演、演员等)的推荐,请选择一些图形数据库,如neo4j,因为基于文档的NoSQL不能很好地存储连接

    如果您的建议是基于数值的,您可以只搜索与搜索值最接近的电影


    如果API不能提供建议,我会搜索您当地的DB(无论是什么类型),谢谢您的回复,快速提问。需要做的第一件事(如果我想这样做的话)是向客户机显示来自OMDb API(搜索响应)的消息,然后当用户单击它时,搜索结果保存在数据库中。我相信你的方法是正确的,我只是想知道从其他地方获取数据时它是如何工作的。我真的不知道你是通过什么参数获取数据的,所以我的回答很一般,但如果你得到多个结果,我想你应该存储所有结果以供推荐,只需添加属性单击或诸如此类的内容谢谢你的回答,快速提问tho。需要做的第一件事(如果我想这样做的话)是向客户机显示来自OMDb API(搜索响应)的消息,然后当用户单击它时,搜索结果保存在数据库中。我相信你的方法是正确的,我只是想知道当从其他地方获取数据时它是如何工作的。我不知道你获取数据的参数是什么,所以我的回答很一般,但如果你得到多个结果,我想你应该存储所有结果以供推荐,只需添加单击的属性或类似的内容