Guest User

Untitled

a guest
Jan 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. const mongoose = require('mongoose');
  2. mongoose.Promise = global.Promise;
  3.  
  4. const schema = new mongoose.Schema({
  5. requiredAttribute: {
  6. type: String,
  7. required: true
  8. },
  9. optionalAttribute: {
  10. type: String,
  11. required: false
  12. }
  13. });
  14.  
  15. schema.pre('remove', function(done) {
  16. console.log('pre Remove 1!')
  17. done();
  18. })
  19.  
  20. schema.post('remove', function() {
  21. console.log('post Remove 1!')
  22. })
  23.  
  24. schema.pre('findOneAndRemove', function(done, doc) {
  25. console.log('pre Remove 2!')
  26. done();
  27. })
  28.  
  29. schema.post('findOneAndRemove', function(doc) {
  30. console.log('post Remove 2!')
  31. })
  32.  
  33.  
  34. const DummyModel = mongoose.model('DummyModel', schema, 'dummyModels');
  35.  
  36. mongoose.connect('mongodb://localhost:27017/users-service-test', { useMongoClient: true })
  37. .then(() => {
  38. const model = new DummyModel({ requiredAttribute: 'something' })
  39. return model.save();
  40. })
  41. .then((result) => {
  42. console.log('Model created', result)
  43. console.log('Using instance.remove, should call the Docucment Middlewares')
  44. return result.remove();
  45. })
  46. .then((result) => {
  47. return DummyModel.find({})
  48. })
  49. .then((result) => {
  50. console.log('Existing models', result);
  51.  
  52. const model = new DummyModel({ requiredAttribute: 'something' })
  53. return model.save();
  54. })
  55. .then((result) => {
  56. console.log('Model created', result)
  57. console.log('Using class.remove, should call the Query Middlewares ???')
  58. DummyModel.remove({}).exec();
  59. })
  60. .then(() => {
  61. return DummyModel.find({})
  62. })
  63. .then((result) => {
  64. console.log('Existing models', result);
  65. const model = new DummyModel({ requiredAttribute: 'something' })
  66. return model.save();
  67. })
  68. .then((result) => {
  69. console.log('Model created', result)
  70. console.log('Using class.findOneAndRemove, should call the Query Middlewares')
  71. return DummyModel.findOneAndRemove({ _id: result.id }).exec();
  72. })
  73. .then(() => {
  74. return DummyModel.find({})
  75. })
  76. .then((result) => {
  77. console.log('Existing models', result);
  78. })
Add Comment
Please, Sign In to add comment