Py学习  »  MongoDB

如何在nodejs中获取与mongodb问题对应的特定字段

Pavan Rajput • 4 年前 • 421 次点击  

我正在尝试创建一个rest api,从mongo db获取与问题对应的答案。但是,我对mongo还不熟悉,所以有没有任何方法可以根据数据库中的特定问题对用户做出响应。

这是我的代码:

var express = require("express");
var app = express();
var port = 3000;
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

var mongoose = require("mongoose");
mongoose.Promise = global.Promise;
mongoose.connect("mongodb://localhost:27017/questionandanswer");
var nameSchema = new mongoose.Schema({
    question: String,
    answer: String
});
var User = mongoose.model("User", nameSchema);


app.get("/getanswer",function (req, res)  {
   User.find({}).then(eachOne =>{
       res.json(eachOne);
   })
});

app.post("/addquestion", (req, res) => {
    var myData = new User(req.body);
    myData.save()
        .then(item => {
            res.send("question saved to database");
        })
        .catch(err => {
            res.status(400).send("Unable to save to database");
        });
});
var port=process.env.port || 5005;
app.listen(port, () => {
    console.log("Server listening on port " + port);
});

这是我的数据库图像文件: mongodb database

我的代码返回了所有存储的答案,但是我只想要特定问题的答案。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51735
 
421 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Kruti Choksi Patel
Reply   •   1 楼
Kruti Choksi Patel    5 年前

您可以使用特定的Id或问题

 User.find({"question" : "how are you"}).then(eachOne =>{
       res.json(eachOne);
   })

或者

User.find({"_id" : ObjectId("5c73....7f")}).then(eachOne =>{
           res.json(eachOne);
       })