Wednesday 17 May 2017

queryselector must be an object mongodb

I try post data in db but I get this error queryselector must be an object mongodb. Here is my code

models var MongoClient = require('mongodb').MongoClient;

exports.register = function(val,cb) {
    var email = val['email'];
    var password = val['password'];
    var user  = val['user'];
    MongoClient.connect(//url connect to db  ,function(err,db){
        if(err)
            cb(null,{result:false,message:err});
        db.collection('user').findOne(email,function(err,user){
            if(err)
                cb(null,{result:false,message:err});
            if(user){
                cb(null,{result:false,message:'Email already exists'});
            }else{
                db.collection('user').insert(user,function(err){
                    if(err)
                        cb(null,{result:false,message:err});
                    cb(null,{result:true,message:'Success'});
                })
            }
        })
    });
};

controller

var express= require('express');
var router = express.Router();
var user = require('../models/register');

router.post('/',function(req,res) {
    var val =[];
    val['email'] = req.body.email;
    val['password'] = req.body.password;
    val['user']={
        email:req.body.email,
        password:req.body.password
    }

    user.register(val,function(err,data){
        if(err)
            console.log(err)
        res.json(data);
    })

});

module.exports = router;

I try change to val={} but not work too . Where is my wrong? Please help me



via Nguyễn Bảo Dũng

No comments:

Post a Comment