candlesModel.findOne({ symbol, interval }).then(res => res.data)
// выбрать только поле 'data'
candlesModel.findOne({ symbol, interval }, 'data')
await candlesModel.findOne({ symbol, interval }) // ?
User.update(
{ /* все юзеры */ },
{ $pull:
{ tasks: { $oid: task_id } }
}
)
что бы мне получить весь документ картинки canIHelpSection.directionsOfDevelopment.img мне нужно сделать популейт.
И вот я делаю популейт и получается что весь canIHelpSection мне отдается, но при том что я его не запрашиваю, в select('firstSection') написано
user.markModified('playLists')
// или это
// user.markModified('playLists.files')
sort: { newField: -1 }
db.scores.aggregate( [
{
$addFields: {
totalHomework: { $sum: "$homework" } , // сумма массива
totalQuiz: { $sum: "$quiz" } // сумма массива
}
},
{
$addFields: { totalScore:
{ $add: [ "$totalHomework", "$totalQuiz", "$extraCredit" ] } } // два новых поля + одно старое
}
] )
const chats = await Chat.find({ 'chatMembers.username': { $in: ['usver', 'another_user'] } })
User.findOne({ 'items.id': { $all: ids } })
User.updateOne(
// нужен айдишник для элемента, чтобы его выбрать из базы
{ email: email, 'tablesState._id': table_id },
// тогда можно будет так
{ $set: { 'tablesState.$' : tablesStateElement } }
)
const UserSchema = new Schema({
user: {
login: String,
password: String
},
jwt: String
});
user: { user: {login, password} }
, так и имелось в виду? или всё же такconst UserSchema = new Schema({
login: String,
password: String,
jwt: String
});
// если так, то сработает
User.find({login: req.body.login, password: req.body.password})
db.collection.updateMany(
{ "parseDate": "2020-07-29T00:00:00.000Z", "order" : "SOME" },
{ $set: { "TRIP": 0.0061, "OKS": 93.33991119881563 } },
{ upsert: true } // если ничего не найдет, то пусть сделает новый документ БД
)
Post.aggregate([
{
$lookup: {
from: 'definitions',
localField: 'definition',
foreignField: '_id',
as: 'definitions'
}
},
{
$match: {
'definitions.likes': { $gte: 10 }
}
}
])
Deal.aggregate([
{
'$sort': {
'_id': -1 // тупо по айди, если есть поле в духе created_at, то использовать его
}
}, {
'$limit': 50
}, {
'$group': {
'_id': '$city', // сюда поле
'data': {
'$push': '$$ROOT' // это чтобы добавился массив с записями в результат
}
}
}
])
for (const obj of parsedObjects) {
const dbObject = dbObjects.find(elem => elem.id === obj.id)
.....
// а вот здесь наверно получится
await dbObject.save()
}
.findOneAndUpdate(
{ id: 8946, 'e.type': 'model', 'e.value': 1 },
{
$set: {
'e.$.other': { ...newOtherData } // новый объект
}
}
)
User.updateOne({
{ _id: 1 },
{ $pull: { items: { _id: '24123123dsfasdf32' } } }
})
User.updateOne({
{ _id: 1 },
{ $pull: { items: { _id: { $eq: '24123123dsfasdf32' } } }
})
const schema = new mongoose.Schema({ name: String });
// Mongoose will call this middleware function, because this script adds
// the middleware to the schema before compiling the model.
schema.pre('save', () => console.log('Hello from pre save')); // вот это
// Compile a model from the schema
const User = mongoose.model('User', schema);
new User({ name: 'test' }).save();