NodeJS JavaScript和Mongo通讯

时间:2018-07-09 11:34:25

标签: javascript node.js mongodb ejs

我在脚本标记下的ejs文件中放置了一个文本字段

var message = document.getElementById("typing").value;

我希望此变量Message具有需要在数据库(mongodb)中搜索的关键字

我可以使用NodeJs文件连接数据库并找到我想要的东西

dbo.collection('Leave').find({$text:{$search : " those "}},{projection:{_id: 0, What_are_those:1}}).toArray(function(err, result) {.......});

但是我并不愿意将其与ejs和nodeJS连接。基本上是两者之间的连接或绑定。

1 个答案:

答案 0 :(得分:0)

不清楚如何发布数据,但是假设您已将搜索页发布到URL“ / search”,请参考下面的代码。

确保您的应用已连接到MongoDb。 创建一条可以提交搜索词的路径(首选POST)。 Route使用猫鼬模型查询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%>

的内容