New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

microgen-mongoose

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

microgen-mongoose - npm Package Compare versions

Comparing version 0.0.4 to 0.0.5

66

lib/service.js

@@ -73,13 +73,13 @@ const { _ } = require('@feathersjs/commons');

// Handle $addFields
if (query.$addFields) {
query.$addFields = {
...query.$addFields,
id: "$_id"
}
q.addFields(query.$addFields);
total.addFields(query.$addFields);
delete query.$addFields;
query.$addFields = {
...query.$addFields || {},
id: "$_id"
}
q.addFields(query.$addFields);
total.addFields(query.$addFields);
delete query.$addFields;
q.match(query);

@@ -174,2 +174,3 @@ total.match(query);

}
console.log("========", query)

@@ -210,3 +211,3 @@ // Handle $addFields

const model = this.discriminators[discriminator] || this.Model;
const { query: { $populate } = {} } = params;
const { query: { $populate, $addFields } = {} } = params;
const isMulti = Array.isArray(_data);

@@ -221,3 +222,3 @@ const data = isMulti ? _data : [_data];

return results;
}).then(results => {
}).then(async results => {
if (this.lean) {

@@ -227,2 +228,14 @@ results = results.map(item => (item.toObject ? item.toObject() : item));

if ($addFields) {
let addFields = {
...$addFields,
id: "$_id"
}
const q = model.aggregate([{ $match: { _id: mongoose.Types.ObjectId(results[0]["_id"]) } }]);
q.addFields(addFields);
results = await q.session(params.mongoose && params.mongoose.session).exec()
}
return isMulti ? results : results[0];

@@ -271,6 +284,17 @@ }).then(select(params, this.id)).catch(errorHandler);

return modelQuery.lean(this.lean).exec()
.then(result => {
.then(async result => {
if (result === null) {
throw new errors.NotFound(`No record found for id '${id}'`);
}
if (query.$addFields) {
query.$addFields = {
...query.$addFields,
id: "$_id"
}
const q = model.aggregate([{ $match: { _id: mongoose.Types.ObjectId(id) } }]);
q.addFields(query.$addFields);
result = await q.exec();
}

@@ -325,6 +349,6 @@ return result;

return ids.then(idList => {
const { query: { $populate } = {} } = params;
const { query: { $populate, $addFields } = {} } = params;
// Create a new query that re-queries all ids that
// were originally changed
const updatedQuery = { [this.id]: { $in: idList } };
const updatedQuery = { [this.id]: { $in: idList }, $addFields };
const findParams = Object.assign({}, params, {

@@ -339,4 +363,6 @@ paginate: false,

const model = this.discriminators[discriminator] || this.Model;
const queryUpdate = { ...query };
delete queryUpdate.$addFields;
return model
.updateMany(query, data, options)
.updateMany(queryUpdate, data, options)
.lean(this.lean)

@@ -375,2 +401,8 @@ .exec()

const queryDelete = {
...query
}
delete queryDelete.$addFields;
// NOTE (EK): First fetch the record(s) so that we can return

@@ -380,3 +412,3 @@ // it/them when we delete it/them.

if (id !== null) {
return this.Model.deleteOne(query, params.mongoose)
return this.Model.deleteOne(queryDelete, params.mongoose)
.lean(this.lean)

@@ -388,3 +420,3 @@ .exec()

return this.Model.deleteMany(query, params.mongoose)
return this.Model.deleteMany(queryDelete, params.mongoose)
.lean(this.lean)

@@ -391,0 +423,0 @@ .exec()

{
"name": "microgen-mongoose",
"description": "A Microgen service adapter for the Mongoose ORM",
"version": "0.0.4",
"version": "0.0.5",
"homepage": "https://github.com/feathersjs-ecosystem/feathers-mongoose",

@@ -6,0 +6,0 @@ "main": "lib/",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc