用户拥有帐户,可以使用Comment
Mongoose模型进行评论。
是否可以允许用户在文本输入中输入username
并生成所有与用户相关的注释?
我一直在尝试使用db.users.find({"name")
,但我不确定如何将username
从输入字段传递到搜索。有什么建议?
谢谢!评论模型如下。它将每个评论与用户连接起来。
var commentSchema = new mongoose.Schema({
body: String,
author: {
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
}
})
答案 0 :(得分:1)
您必须从user name
获取另一位用户输入的text box
,然后将请求发送给后端,例如{uName : 'user2'}
。
使用请求随附的对象中的值,并在数据库中找到。
下面的内容将是后端代码: -
var uName = req.params.uName
var cursor = db.users.find({username : uName.toString()});
现在cursor
将为您提供来自数据库的user2
的记录。
答案 1 :(得分:0)
<强>前端强>
将带有查询字符串的 GET 请求发送到后端API
<form method="get" action="/comments/user" >
<input type="text" name="username" placeholder="username">
<button type="submit">Search</button>
</form>
返回端强>
编写API来处理 GET 请求和Mongoose Query
var app = express();
var Comment = mongoose.model('Comment', commentSchema);
app.get('/comments/user', function (req, res) {
var query=Comment.find();
//get the Query String here
var filter=req.params.username;
if(filter.length>0){
query.where({author.username:filter});
}
query.exec(function (error, comment) {
//send the result back to front-end
res.json({ Comment: comment });
});
});