2017-10-13 4 views
0

Ma db comprend les collections suivantes:Mongoose - comment déplacer l'objet à une autre collection

users 
deleted_users 

Mon code est le suivant:

const name = { type: String, required: true, index: { unique: true } }; 
const UserSchema = new mongoose.Schema({ name }); 

const DeletedUserSchema = new mongoose.Schema({ name }, { 
    versionKey: 'version', 
}); 

const UserModel = mongoose.model('User', UserSchema); 
const DeletedUserModel = mongoose.model('Deleted_user', DeletedUserSchema); 

router.put('/:id/move', (req, res) => { 
    UserModel.findOne(
    { _id: id } 
).then((user) => { 
    if (!user) { 
     return fail(...); 
    } 
    console.log(`moving user width id ${id}`); 
    const newUser = new DeletedUserModel(user); 
    return newUser.save() 
    .then(
    () => { 
     console.log('ok'); 
     }) 
    .catch((err) => { 
     console.log('catch err ', err); 
    }); 
    }); 
} 

mais je reçois toujours

{ Error 
    at model.wrappedPointCut [as save] (/~/prj/node_modules/mongoose/lib/services/model/applyHooks.js:111:29) 
    at UserModel.findOne.then (/~/prj/src/routes/user/index.js:123:20) 
    at process._tickDomainCallback (internal/process/next_tick.js:135:7) 
    message: 'No matching document found for id "58dd804c434bdc1848d491cd"', 
    name: 'VersionError' } 

Répondre

0

Pouvez-vous vérifiez que ce id vous interrogez n'est pas un String mais un ObjectId parce que je pense que vous passez un String comme id.