Anonymous
Denys
Amir
а из монги выгрузить в json только саму структуру коллекции можно? без данных
Semyon V
какие best practices по хранении связей записей?
ссылка на ObjectId видится мне не слишком надёжной потому как при поверхностном гуглении нашёл информацию о том, что при экспорте-импорте они могут спокойно поменяться
Nick
если вы не удаляете поле _id, то оно не будет заменяться само по себе
Anonymous
операции db.colection.findOne/updateOne в монгошелел синхронно выполняются или промисами?
синхронно
Semyon V
и вам не хворать
Semyon V
какой-то здц, товарищи
Semyon V
почти одна тысяча двести человек серьёзных людей и тут вот такое
yopp
Gor
@dd_bb а кто еще из админов есть?
yopp
@pragus и @lig11
Gor
спс
yopp
И теперь ещё и @yatoba
Gor
Gor
может список куда то в description вынести раз нет /report бота?
Roman
А?
Gor
перекличка админов)
Nick
Joseph
Доброе утро , а подскажите как можно найти в массиве по кусочку . У меня есть 2 id мне надо найти только те роуты в которых есть эти 2 метки подряд
db.getCollection('routes').find({"waypoints":{$elemMatch: {label: {$in:[id1,id2]}}}})
Что то пока не сообразил
Semyon V
$all? (https://docs.mongodb.com/manual/reference/operator/query/all/)
Semyon V
ах, label это строка?
Joseph
Joseph
Joseph
ну посути строка
Semyon V
нужно одним запросом найти 2 записи с разными ObjectId?
Joseph
Joseph
Вообще желательно что бы они были подряд , но это я могу и на js отфилтровать
Semyon V
waypoints это массив объектов?
label - массив ObjectId?
Joseph
Joseph
Joseph
а waypoints это да массив объектов
Semyon V
тогда я бы сказал что у тебя верный запрос для этого
Joseph
Сейчас покажу что бы я хотел сделать
Joseph
Пример [1,2] =>
[1,2,4,7]
[23,6,9,0]
[4,2,8,0,1]
[5,4,3,2]
получить на выходе
[1,2,4,7]
[4,2,8,0,1]
Joseph
а мой запрос мне выведет
[1,2,4,7]
[4,2,8,0,1]
[5,4,3,2]
Joseph
мне надо что бы обяхательно были именно эти две метки в массиве иначе слишком большая выборка получается
Semyon V
да, попробуй тогда с $and уточнить
Semyon V
(он же $all)
Joseph
да, попробуй тогда с $and уточнить
я пробывал так
db.getCollection('routes').find($and:{
{"waypoints":{$elemMatch: {label: id1}}}}
{"waypoints":{$elemMatch: {label: id2}}}
})
Что то не очень проканало
Павел
Joseph
"waypoints" : [
{
"label" : ObjectId("5b6d60ba77e3a748a4fead1c")
},
Павел
db.getCollection('testcollection').find({
"$or": [{"waypoints.label": {"$eq": ObjectId("5b6d60ba77e3a748a4fead1c")}},
{"waypoints.label": {"$eq": ObjectId("5b6d60ba77e3a748a4fead1f")}}]
})
Павел
/* 1 */
{
"_id" : ObjectId("5cb6d139f11c96848630a27b"),
"waypoints" : [
{
"label" : ObjectId("5b6d60ba77e3a748a4fead1c")
}
]
}
/* 2 */
{
"_id" : ObjectId("5cb6d139f11c96848630a27e"),
"waypoints" : [
{
"label" : ObjectId("5b6d60ba77e3a748a4fead1f")
}
]
}
Joseph
Joseph
Спасибо большое за помощь
Павел
Joseph
Зачем?
Потому что мне надо что бы сразу было вхождения и первого лейбла и второго в одном waypoints
Павел
ну так ты мне кинул с одним
Joseph
Павел
и вообще непонятно что ты хочешь, что значит вхождения всех лейблов
Павел
У тебя есть айдишки, и ты хочешь выбрать все элементы с айдишкой которая входит в твои айдишки или что
Joseph
Павел
Joseph
Павел
чтобы посмотреть где результат матча выдаст 2 обджекта
Joseph
Anonymous
Подскажите, можно восстановить ли дропнутую коллекцию?
yopp
Павел
Павел
Anonymous
А на системном диске не мог сохраниться файл, где нибудь?
Anonymous
Это же по сути удаление файла с коллекцией?
yopp
Ivan
Нет
даже oplog не поможет?
yopp
в идеале да
Если репликация не остановлена, то без «идеала», как только приедет запись журнала с удалением, коллекция будет удалена
yopp
даже oplog не поможет?
Журнал ограничен по размеру, из него можно теоретически достать только небольшую часть последних данных.
Artem
Я пытаюсь выбрать все документы у которых нету элементов массива с указаным id и type, но в результате я не чего не нахожу,
можете подсказать что я не так делаю
db.chains.find(
{
_id: '48d2f123-b3e6-4aad-9507-9c58d9bc5715',
'statistics.elements': {
'$elemMatch': { id: { '$ne': '01e4e8bd-ada4-4987-930b-31a4d0f59a52' }, 'type': { '$ne': 1 } }
}
}
);
Artem
разобрался
вроде так нужно было сделать
db.chains.find(
{
_id: '48d2f123-b3e6-4aad-9507-9c58d9bc5715',
'statistics.elements': {
$not: {
$elemMatch: {
id: '01e4e8bd-ada4-4987-930b-31a4d0f59a52',
type: 2
}
}
}
}
);
Denys
всем привет) подскажите плз, надо сделать поиск:
const currentNotification = await models.NotificationsModel
.findOne({
action,
article,
comment,
$or: [{ receiver: receiverUser }, { receiver: undefined }],
});
но receiver, может быть, а может и нет, как его сделать не обезательным?)
$or не сильно мне помого))
Semyon V
всем привет) подскажите плз, надо сделать поиск:
const currentNotification = await models.NotificationsModel
.findOne({
action,
article,
comment,
$or: [{ receiver: receiverUser }, { receiver: undefined }],
});
но receiver, может быть, а может и нет, как его сделать не обезательным?)
$or не сильно мне помого))
$or: [
{receiver: {$exists: false}},
{receiver: receiverUser},
]
Max
Привет, кто-то дружил tableau с монгодб (атлас)? Не могу ни найти, ни нагуглить как это сделать
Semyon V
{ $exists: false } покрывает только кейс с undefined
Semyon V
а { $exists: receiverUser } = { $exists: true }
Semyon V
поэтому
$or: [
{receiver: {$exists: false}},
{receiver: receiverUser},
]
Denys