如何在express.js服务器上获取集合名称

时间:2014-11-04 12:02:07

标签: javascript node.js

我有2个收藏品

appoinments
invoice

在我的post方法中,在保存数据之前,我检查数据是否已经存在,但我只想要appoinments集合。 我想正常保存invoice集合。我怎样才能做到这一点。我已经尝试过使用if语句,但它没有用。

app.post('/collections/:collectionName', function(req, res, next) {
   console.log(req.body[0])
   if('/collections/:collectionName' == '/collections/appoinments'){
      req.collection.findOne({hour_responce:req.body[0].hour_responce}, function(e, result){
          if(result){
            console.log(result); console.log(e)
            res.send(500,{error:"You Already have a Task on this Time Period"})
          }
          else{
            req.collection.insert(req.body, {}, function(e, results){
            if (e) return next(e)
            res.send(results)

             })
          }
      })
  }
  else{
     req.collection.insert(req.body, {}, function(e, results){
            if (e) return next(e)
            res.send(results)
        })
  }

})

1 个答案:

答案 0 :(得分:1)

我无法添加评论,因此我尝试通过添加答案提供一些建议

第一:

约会或任命?小心拼写

第二:

本财富是对的。可以使用:

if(req.params.collectionName ==' appoinments')

第三:

您似乎正在使用mongodb(我看到一些关键字,如collection,findOne)。使用本机mongdb节点驱动程序查询集合的正确方法如下:     db.collection.findOne(查询,回调);

老实说,我并不理解" req.collection.findOne"

祝你好运