javascript - queryselector 必须是对象 mongodb

标签 javascript node.js mongodb express

我尝试在数据库中发布数据,但出现此错误 queryselector must be an object mongodb。这是我的代码

模型 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;

我尝试更改为 val={} 但还是不行。我哪里错了?请帮助我

最佳答案

应该是..

 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: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'});
                    })
                }
            })
        });
    };

关于javascript - queryselector 必须是对象 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44037772/

相关文章:

javascript - ctrl+c "content"来自 CSS

javascript - Node.js 使用模块中的变量

c# - 检查 MongoDb C# Driver 2.0 中的 Field 是否等于 Null

ruby-on-rails - 如何使用 Rails 4 删除和销毁 Mongoid 中的嵌入文档

javascript - 无法多次单击分页下一个按钮 - javascript

javascript - 解决失败: { Error: Cannot find module 'npm-watch'

javascript - JQGRID - 维护复选框选择状态 - 页面刷新/重定向/重新加载

node.js - 在 Node.js TCP 套接字中测试 keepalive 的功能

node.js - 如何使用两个LocalStrategy?

javascript - 更新 JSON 数组 (Mongoose) 内具体 JSON 对象中的特定字段