Anonymous
Нифига уровень спама
Anonymous
@yatoba
Richard
ребят, может кто-нибудь поскажет, как мне сделать фильтрацию по вложенным документам? вот есть у меня
{
"_id": {"$oid":"12345"},
"chenibud": true
}
// в другой коллекции
{
"_id": {"$oid":"567789"},
"сhild": {"$oid":"12345"}
}
вопрос, как мне сделать фильтр , что бы {child.chenibud: true}, т.е. как фильтровать документы по вложенным в них ссылкам на другие документы?
Richard
обыскался уже, не понимаю вообще
Yaroslav
если я правильно тебя понял, то через aggregation это несложно делается.
сначала делаешь lookup этих двух коллекций, потом фильтруешь. можно между lookup и фильтрацие вставить unwind.
Yaroslav
посмотри примеры по lookup. это несложно.
https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/
Richard
Πάαβο ☃️
Πάαβο ☃️
Как вам логично подсказывают, в монге подобное делается через aggregation
Πάαβο ☃️
А join'ов чтобы в один запрос сделать cross-product в монге нет, не стоит пытаться RDBMS/SQL представления о правильности и эффективности в монге использовать ни для проектирования ни для запросов
Πάαβο ☃️
Т.е. в вашем случае либо aggregation либо поменять дизайн чтобы вложенные документы были именно вложенными, а не в другой коллекции
Zaur
есть кто юзает nodejs + mongodb?
Как с помощью этого драйвера вывести explain("executionStats" ) ?
Artem
MongoClient.connect('mongodb://localhost:27018/mongodb', function(err, db) {
db.collection('fanclub')
.find({age: {$gte: 33, $lte: 40}})
.explain(function(err2, explain) {
var model = new ExplainPlanModel(explain, {parse: true});
console.log(model.executionSuccess); // ==> true
console.log(model.isCovered); // ==> false
console.log(model.isCollectionScan); // ==> false
console.log(model.usedIndex); // ==> "age_1"
console.log(model.inMemorySort); // ==> false
console.log(model.nReturned); // ==> 191665
console.log(model.executionTimeMillis); // ==> 146
// ...
db.close();
});
});
Artem
Zaur
Zaur
вот так callback вызывается, но в exp нету информации executionStats
Zaur
под executionStats я имею ввиду вот такой вывод, который показывает оболочка mongo
Dmytro 🇺🇦
Подскажите как подобное ( {film_name:1, date:1, director:1, actor_name:1}) запихнуть в MongoDB\Driver\Query вторым параметром.
db.Films.find({
actor_name: "Пол Джаматти"
}, {film_name:1, date:1, director:1, actor_name:1}).pretty()
Dmytro 🇺🇦
не пойму какой синтаксис должен быть
🔰ш
Приветики! Подскажите, как можно сделать aggregate pipeline так, чтобы отфильтровать текущий результат по ключам из соседней таблицы?
🔰ш
Тобишь у меня текущий $$this в пайплайне выглядит как массив документов с айдишниками, надо сделать запрос в соседнюю таблицу, результатом которого будет список документов, у которых есть поле key. и если в $$this будет документ c _id = key его надо удалить
🔰ш
Left Exclusive на этой картинке...
🔰ш
https://medium.com/dsmli/mongodb-left-anti-join-fac00eda33fc
🔰ш
если кому интересно
Евгений
может кто-то знает как сделать Promise.All по arr c вызовом агрегации?
I
Всем привет. Походу эта группа просьб о помощи =) У меня тоже вопрос, может кто знает как спарсить json string c точкой Document
Nick
I
I
bson орет
I
https://stackoverflow.com/questions/66780505/when-parsing-json-to-document-why-mapkeydotreplacement-doesnt-work
Nick
использовать нормальные ключ без точки
I
вот на корявом английском пример кинул
Nick
это не поддерживается
I
но нихрена не разруливает =(
Nick
так ведь не умеет
Nick
Until support is added in the query language, the use of $ and . in field names is not recommended and is not supported by the official MongoDB drivers.
Nick
смотрите поддерж ивает ли ваш драйвер
I
Nick
видимо какието махинации делаются
I
у меня 4.2.2 кажется
I
I
если это оно
Nick
I
или есть какой то другой способ конвертить json string в document ?
Nick
ну так драйвер то это делает когда в базу отправляет док, а не при попытке конвертнуть bson в док
I
I
с точкой
I
=)
Nick
сначала в мапу
Nick
стандартным json мапером
Nick
потом преобразовать как вам надо, потом уже подготовленную мапу уже отпрапвлять в базу
I
а можно где пример посмотреть ?
I
json string -> mongo db
I
везде ющаю bson
I
юзают
Nick
вообще обычно json -> entity -> mongo
Nick
и никаких проблем нет
I
она ругается ужастно
I
там используется Gson
I
facebook api короче
I
Я хочу готовые сущности, сохранить в БД
Nick
нет entity, так заменить на map
тут имеется сохранение в монгу из мапы https://howtodoinjava.com/mongodb/java-mongodb-insert-documents-in-collection-examples/
I
Спасибо добрый человек =)
I
ухты, работает!
I
ура =)
I
json -> map -> save(BasicDBOobject(<resultMap>), "collection_name" ) -> findOne(query, Doccument::class.java, "collection_name")
I
портянка однако =)
Viktar
I
bson.Document.parse не парсит с точкой, при этом монга может сохранить с точкой
I
при этом точку она поменяет на выбранный символ в настройках
I
а при вытаскивании данных, она вернет опять как точку
Mr.Almond
Привет!
Подскажите, почему aggregate зависает, если я запускаю mongo shell из под рута?
Oleh Kopyl
Доброе утро :)
Это же OOM Kill?
https://pastebin.com/f2Et8tw8