MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

trả về giải quyết lỗi trong chức năng nút

Vì bạn không chuyển đúng người dùng đã tìm nạp đến query.exec .

Bạn cần làm:

var Users  = require('../models/users-model.js');

function usernametoid(id) {
    return new Promise( function (resolve, reject) {
        Users.findOne({ username : id }).then( function(user){
          //If you use lodash you can do _.isNull(user)
          if(user == null){
            return reject({error : 'User not found'});
          }

          user.exec(function(userdata, error) {
              if(userdata){
                return resolve(userdata);
              } 
              if(error){
                 return reject({error : 'Error while executing query'});
              }
           });
        });
    });
}

Tôi thực sự không hiểu tại sao bạn nhập Users Model như thế. Tôi không nghĩ Node sẽ có thể tìm nạp nó như vậy.

Và, bạn nên yêu cầu mongoose trong server.js của bạn

Để bắt được lời từ chối, bạn cần mã sau:

UserFactory.userNameToId(id).then( function(response){
  if(response.error){
    console.log('error '+response.error);
  }
  if(response){
    console.log('Got response '+response);
  }
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Các phương pháp hay nhất để lưu trữ hiệu quả các băm md5 trong MongoDB

  2. Tôi đang làm gì sai khi thao tác dữ liệu trong Meteor / MongoDB?

  3. 2 cách để có được kích thước tài liệu trong MongoDB

  4. MongoDB &Mongoose truy cập một cơ sở dữ liệu trong khi xác thực với một cơ sở dữ liệu khác (NodeJS, Mongoose)

  5. Xóa một trường khỏi tất cả các phần tử trong mảng trong mongodb