sql >> データベース >  >> NoSQL >> MongoDB

ノードjsをコンパイルすると、`users`モデルを上書きできません

    ルートとパスポートファイルの両方で一貫性があるようにrequireステートメントを更新します。const User = require('../model/users'); 。ケースは重要です!

    正しいマングースの用語を使用していないようです。 ドキュメント に基づく 、これは大まかに次のように実装する必要があります。

    const mongoose = require('mongoose');
    const bcrypt = require('bcryptjs');
    const config = require('../config/database');
    
    //User Schema
    const UserSchema = mongoose.Schema({
      name: {
        type:String
      },
      email: {
        type:String,
        required:true
      },
      username: {
        type:String,
        required:true
      },
      password: {
        type:String,
        required:true
      }
    });
    
    UserSchema.statics.getUserById = function(id,callback)
    {
      return this.findById(id,callback);
    };
    
    UserSchema.statics.getUserByUsername = function(username,callback){
      const query = {username: username}
      return this.findOne(query,callback);
    };
    UserSchema.statics.addUser = function(newUser,callback){
      bcrypt.genSalt(10,(err,salt)=>{
        if(err)
        {
          throw err;
        }
        bcrypt.hash(newUser.password,salt,(err,hash)=>{
          newUser.password=hash;
          newUser.save(callback);
        });
      });
    };
    
    module.exports = users = mongoose.model('users',UserSchema);;
    


    1. Mongo DBは、キーフィールドに応じて最も高い値を持つすべてのレコードを検索します

    2. Homebrewで最新のMongoDBに更新できないのはなぜですか?

    3. `$ eq`演算子は配列ドット表記で機能しますか?

    4. mongoDBは明確で、同じクエリのどこにありますか?