javascript - NodeJS JavaScript 和 Mongo 通信
问题描述
我在脚本标签下的 ejs 文件中放置了一个文本字段
var message = document.getElementById("typing").value;
我想要这个变量 Message 具有需要在数据库中搜索的关键字(mongodb)
我可以使用 NodeJs 文件与 db 连接并找到我想要的东西
dbo.collection('Leave').find({$text:{$search : " those "}},{projection:{_id: 0, What_are_those:1}}).toArray(function(err, result) {.......});
但我无法将它与 ejs 和 nodeJS 连接起来。基本上是两者之间的联系或绑定。
解决方案
目前尚不清楚您如何发布数据,但假设您将搜索页面发布到 URL“/search”,请参阅下面的代码。
确保您的应用程序已连接到 MongoDb。创建可以提交搜索词的路线(首选 POST)。Route 使用 mongoose 模型查询 db 并将 mongodb 文档返回给 ejs 模板。
const mongoUrl = REPLACE_WITH_MONGOURL;
const mongoose = require('mongoose');
mongoose.connect(mongoUrl);
mongoose.connection.on('connected', () => {
console.log('Connected to MongoDB at: %s ', mongoUrl);
});
// assuming you post {"searchTerm": "SEARCH THIS STRING"} as body
app.post('/search', (req, res) => {
const searchTerm = req.body.searchTerm
model.find($text:{$search: searchTerm}).exec((err, doc) => {
res.render('path/to.ejs', { msg: doc });
});
});
EJS 应该包含类似<%=msg.doc%>
推荐阅读
- javascript - Angular:无法为多个表单重用相同的组件
- amazon-web-services - 我可以将现有的 Aurora 数据库集群迁移到 Aurora Serverless 吗?
- sql - First 和 Last 合并窗口函数
- python - 运行任意代码作为函数参数(类似于 lambda)
- reinforcement-learning - 车杆问题强化学习的奖励
- java - 如何在 Java GUI 中进行多项选择
- user-interface - 如果将 Unicode 用于 UI 符号,是否有比 U+2261(≡,“相同”)更好的汉堡菜单选择?
- python - 如何使用 Mosquitto MQTT 订阅不同网络中的 Raspberry Pi Broker?
- json - ACF 中的 JSON 嵌套对象值名称
- excel - 如何提高此 FOR NEXT 循环的速度