Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Javascript 环回:TypeError:无法读取未定义的属性“find”_Javascript_Node.js_Reactjs - Fatal编程技术网

Javascript 环回:TypeError:无法读取未定义的属性“find”

Javascript 环回:TypeError:无法读取未定义的属性“find”,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我看到了一些像我一样的问题,但找不到任何有效的解决方案,所以我想我会问。 我正在尝试从数据库中提取所有数据,以便在应用程序中选择部分数据。我的数据库工作正常,但当我尝试提取图片时,它失败了,并不断给我这个错误,而且似乎也没有从数据库接收数据: app.model.users.find((err,result)=>{ ^ TypeError: Cannot read property 'find' of undefined 这是我的密码:- server.

我看到了一些像我一样的问题,但找不到任何有效的解决方案,所以我想我会问。 我正在尝试从数据库中提取所有数据,以便在应用程序中选择部分数据。我的数据库工作正常,但当我尝试提取图片时,它失败了,并不断给我这个错误,而且似乎也没有从数据库接收数据:

app.model.users.find((err,result)=>{
                ^

TypeError: Cannot read property 'find' of undefined
这是我的密码:-

server.js:-

'use strict';

const loopback = require('loopback');
const boot = require('loopback-boot');

const app = module.exports = loopback();


app.start = function() {
  // start the web server
  return app.listen(function() {
    app.emit('started');
    const baseUrl = app.get('url').replace(/\/$/, '');
    console.log('Web server listening at: %s', baseUrl);
    if (app.get('loopback-component-explorer')) {
      const explorerPath = app.get('loopback-component-explorer').mountPath;
      console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
    }
  });
};



// Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, function(err) {
  if (err) throw err;

  // start the server if `$ node server.js`
  if (require.main === module)
    app.start();
});

console.log(Object.keys(app.models));

app.model.users.find((err,result)=>{
  if(result.length ===0){
    const user={
      email:'jhanvi@gmail.com',
      password:'jhanvi',
      username: 'jhanvi',
    };

    app.models.user.create(user,(err,result)=>{
      console.log("tried to create user ",err,result);
    });
  }
});

app.models.user.afterRemote('create', (ctx,user,next) =>{
  console.log("new user is",user);
  app.models.Profile.create({
    first_name: user.username,
    created_at: new Date(),
    userId: user.id
  },(err,result)=>{
    if(!err && result){
      console.log("created new profile",result);
    }
    else{
      console.log("there is an error ",err);
    }
  });
  next();
  
});
user.json:-

{
  "name": "user",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string"
    }
  },
  "validations": [],
  "relations": {
    "Profile": {
      "type": "hasMany",
      "model": "Profile",
      "foreignKey": ""
    },
    "accessTokens":{
      "type":"hasMany",
      "model":"CustomAccessToken",
      "foreignKey":"userId"
    }
  },
  "acls": [],
  "methods": {}
}
Profile.json:-

{
  "name": "Profile",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "first_name": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "created_at": {
      "type": "date"
    },
    "age": {
      "type": "number"
    },
    "history": {
      "type": [
        "object"
      ]
    }
  },
  "validations": [],
  "relations": {
    "user": {
      "type": "belongsTo",
      "model": "user",
      "foreignKey": "userId"
    }
  },
  "acls": [],
  "methods": {}
}

在您的模型中,您指的是用户

app.model.users.finderr,结果

那当然应该是

app.model.user.finderr,结果


我看到您似乎正在使用这两个版本…

app.model.users在您调用app.model.users.find时不存在。。。。文档对.users属性何时保证可用有何说明?谢谢您的建议:。我不小心写了model.users而不是models.user。