我如何通过req.params.id检索解析服务器的objectId

时间:2018-08-10 11:23:46

标签: node.js parse-server cloud9

我正在尝试在nodeJS的show路由中检索具有objectId的解析对象。以下是我的代码,可帮助您更好地理解。

//SHOW route

app.get("/books/:id", function(req, res) {
  var Books = Parse.Object.extend("Books");
  var query = new Parse.Query(Books);

  query.equalTo("objectId", req.params.id);
  query.find().then(function(foundBook){
    res.render("show", {book: foundBook});
  }, function(error) {
    res.send("Error: " + error.code + " " + error.message);
    });
});

基本上,req.params.id不返回objectID。当我尝试console.log(req.params.id)时,它返回存储在数据库中的书的书名,而不是对链接到/ books /:id页很重要的objectId。

即使我尝试从索引路径中的数据库中检索所有对象,我也注意到<%= book.get('objectId')%>并未显示在ejs页面上。

请帮助我。我是一名初学者MEAN Stack Web开发人员,但我使用的是parse服务器,因为android和web应用程序将在parse.com上共享同一数据库。

谢谢。

    <% books.forEach(function(book) { %>
        <div class="col-md-3 col-sm-6">
            <div class="thumbnail">
                <!-- this line of code gets the image content of the array and puts it in the img tag -->
                <img src="<%= book.get('coverPictureLink') %>"> 

            <div class="caption">
                    <h4><%= book.get('Title') %></h4>
            </div>

            <p>
                <!-- This code adds the button and links it to the ID of the campground that was clicked on!-->
                <a href="/books/<%= book.get('objectId') %>" class="btn btn-primary">More Info</a>
            </p>
        </div>
    </div>
     <% }); %>
</div>

上面是html页面的示例,用于显示特定书籍的详细信息

1 个答案:

答案 0 :(得分:0)

我终于明白了。在html上检索对象ID的正确方法是book.id而不是book.get(“ objectId”)。

app.get("/books/:id", function(req, res) {
    //find the book with provided ID
    var Books = Parse.Object.extend("Books");
    var query = new Parse.Query(Books);

    query.get(req.params.id).then(function(book) {
      console.log('retrieved! ' + book.id);
      res.render('show', {book: book});
      }, function(error) {
          console.log('error occured');
          res.send('could not be retrieved');
    });
});

在html文件上,

  <p>
                <a href="/books/<%= book.id %>">More Info</a>
  </p>