Somebody please tell me why aren't syncing my mogoosastic and mongodb? When I delete records from mongoDB, records still are seen, until the server is restarted. this is me search function
exports.search = function (req, res) {
if (!req.query.q) return res.status(400).send('No Query Provided')
log.error(req.query.q)
var query = {
query_string: {
filtered: {
query: {
multi_match: {query: req.query.q,}
},
filter: {term: {isDeleted: false}
}
}
}
}
User.search(query, (err, results) => {
if (err) return handleError1(res, err)
var ret = _.map(results.hits.hits, result => ({
userID: result._id,
_score: result._score,
name: result._source.name,
loc: result._source.loc,
info: result._source.info,
images: result._source.images,
}))
return res.send(ret)
})
}
And this one is my Schema declaration
isDeleted: {type: Boolean, required: true, default: false, es_indexed: true}
what is wrong with this code...
I added this line of code and everything was ok
.then(groups => {
return User.findById(uid).exec()
})
.then(user => {
let email = user.credentials.loginEmail + '_' + moment().format('YYYYMMDDEHHmmss')
if(app.get('env') === 'localtest') {
email = user.credentials.loginEmail + '_deleted'
}
user.credentials.loginEmail = email;
user.isDeleted = true;
user.updated.at = new Date();
user.save()
.then(user_ =>{
user.sendInfoUpdate()
return res.status(204).send()
})
.catch(err => {
return handleError(res, err)
})
})
.catch(err => {
return handleError(res, err)
})