Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 水线ORM,find()查询返回什么?_Arrays_Mongodb_Sails.js_Javascript Objects_Waterline - Fatal编程技术网

Arrays 水线ORM,find()查询返回什么?

Arrays 水线ORM,find()查询返回什么?,arrays,mongodb,sails.js,javascript-objects,waterline,Arrays,Mongodb,Sails.js,Javascript Objects,Waterline,我正在使用sails mongo适配器连接到本地mongodb服务器。我有一个模型,那就是Users.js,我试图找到具有特定ID的用户 User.findOne({userID:authID}).exec(function(error, found){ console.log(typeof found); console.log(found); if (typeof myObj !== "undefined") {

我正在使用sails mongo适配器连接到本地mongodb服务器。我有一个模型,那就是
Users.js
,我试图找到具有特定ID的用户

User.findOne({userID:authID}).exec(function(error, found){
            console.log(typeof found);
            console.log(found);
            if (typeof myObj !== "undefined") {
                console.log('user already exists');
                //res.send({response: 'userExists'});
            } else {
                console.log('gotta create a new user');
                User.create({
                userID: authID, 
                name: 'name',
                age: 'age', 
                gender: 'gender',
                loggedIn: true}).exec(function(err, created) {
                    if (err) 
                        console.log(err);
                    else {
                        console.log(typeof created);
                        console.log(created.keys({}).length);
                        console.log('user created: ' + created.name);
                    }
                });

                //res.send({response: 'userCreated'});
            }

        });
上面的代码给出了控制台日志中的一些错误


有两件事:您的代码不能处理
err
对象
.find()
始终返回一个对象数组。检查
user.length
应该有效,或者如果
user
未定义,user.length将抛出
TypeError
。如果在sails控制台中运行
User.find({userID:authID}).exec(函数(e,r){console.log(e | | r})
console.log(r)
返回一个空数组
[]
console.log(e)
返回
null
,但这没有任何意义,记录已经存在于数据库中,它应该能够找到它。您如何知道它正在创建一个新用户?您的代码不会将回调函数传递给
user.create()
,也不会调用
user.create()上的
.exec()
。无论您在上面的代码中调用
.create()
时发生了什么,它都会发送您的肯定响应,即使它没有创建用户。@metzuda我编辑了我的查询,我对else语句之间的所有内容都进行了注释,因此我在控制台日志中得到了两次
未定义的
(对于if语句中的两个控制台日志)但是当我取消注释其他语句时,会出现新的错误,这与我的节点模块有关。看起来像是验证错误。您的模型中是否有
require:true
而不是
required:true