sql >> Database teknologi >  >> NoSQL >> MongoDB

Kan ikke instansiere mongoose-skema:Objekt er ikke en funktion

Fejlen udløses, fordi et skema ikke kan instansieres og bruges som model. Du skal gøre det til en mangustmodel først med mongoose.model('DocumentName', document) .

For eksempel (jeg kopierer en del af dette fra et igangværende projekt, så det er ES6):

// user.js
import mongoose from 'mongoose'

let userSchema = mongoose.Schema({
    password: String,
    username: String
})

userSchema.methods.setUp = function (username, password) {
    this.username = username
    this.password = password
    return this
}

export let User = mongoose.model('User', userSchema)
export default User

// routes.js
import { User } from './models/user'

router.post('/newuser', function (req, res) {
    new User()
    // note the `setUp` method in user.js
    .setUp(req.params.username, req.params.password)
    .save()
    // using promises; you can also pass a callback
    // `function (err, user)` to save
    .then(() => { res.redirect('/') })
    .then(null, () => /* handle error */ })
})



  1. Hvordan får du strengværdien af ​​et MongoID ved hjælp af PHP?

  2. Brug af cloneCollection i MongoDB:hvordan godkendes?

  3. gem et objekt med et tovejsforhold i mongodb ved hjælp af den officielle c#-driver

  4. MongoLab/PyMongo forbindelsesfejl