@MongoDBRussian

Страница 227 из 342
Alex
15.04.2018
19:06:05
вообщем как сделать проекцию в C#, "выбрать все поля, а одно поле это массив, по нему сделать skip/take"

заранее благадарю

Dmitriy
16.04.2018
04:13:38
Google
Viktor
16.04.2018
04:17:39
если так, то тогда AggregationPipeline нужен, в методе Collection.Aggregate

Stivn
16.04.2018
08:19:50
как в таком документе обновить ТОЛЬКО значение поля "game1" в "data" - 'worlds' - "Math" ???



yopp
16.04.2018
09:34:05
А документации нет что-ли?
Пожалуйста, воздержитесь от подобного рода комментариев.

Полностью указать путь к полю через точки `data.worlds.Math.game1`

Dmitriy
16.04.2018
09:38:28
Пожалуйста, воздержитесь от подобного рода комментариев.
Если я спросил про доку, это значит, что мне интересно. А вдруг её нет. Я с C# не знаком. А вы оставляйте при себе субъективные мнения

Rustam
16.04.2018
12:18:35
Кто нибудь знает по планам релиз 4ой версии на какую дату намечен?

Dmitriy
16.04.2018
12:28:35
тут написано, что летом этого года

Nick
16.04.2018
12:31:19
и там написано что сроки эти типа внутренние и на них не стоит опираться

Dmitriy
16.04.2018
13:04:20
Да

Nick
16.04.2018
13:06:41
ктати, а тут есть ктонить связанный именно с разработкой самой монги?

Google
Artem
16.04.2018
15:58:03
гайз, у меня есть в документе obj: [ {a : 1}] как в него закинуть можно еще пароску объектов?

Nick
16.04.2018
16:12:30
addToSet

или то аррай

Stivn
16.04.2018
17:30:16
почему пишет эррор? var newValues = {$set: { 'meta.parent.' +id : req.body}};

не хочет подсоединять id динамично

Denis
16.04.2018
17:36:33
var newValues = {$set: {}} var field = meta.parent.${id} newValues["$set"][field] = req.body

meta.parent.${id} в ``

а вообще это к жс относится а не к монге

Stivn
16.04.2018
17:59:08
табл в том что это не работает

The dollar ($) prefixed field '${req' in 'meta.${req' is not valid for storage.

Denis
16.04.2018
18:00:20
а ты где это вводишь?

Stivn
16.04.2018
18:01:05
это в консоли при PUT запросе

/Users/sergey/Documents/Node/Whizzy/whizzy/node_modules/mongodb/lib/utils.js:132 throw err; ^ MongoError: The dollar ($) prefixed field '${req' in 'meta.${req' is not valid for storage. at Function.MongoError.create (/Users/sergey/Documents/Node/Whizzy/whizzy/node_modules/mongodb-core/lib/error.js:45:10) at toError (/Users/sergey/Documents/Node/Whizzy/whizzy/node_modules/mongodb/lib/utils.js:149:22) at /Users/sergey/Documents/Node/Whizzy/whizzy/node_modules/mongodb/lib/collection.js:1035:39 at /Users/sergey/Documents/Node/Whizzy/whizzy/node_modules/mongodb-core/lib/connection/pool.js:544:18 at process._tickCallback (internal/process/next_tick.js:112:11) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! whizzy@0.0.0 start: node ./bin/www

Nick
16.04.2018
18:02:32
А тебе кто нужен?
да просто ражи интереса, без какой либо цели

Sergey
16.04.2018
19:48:34
И снова здравствуйте. =) Разбрается ли кто-нибудь как в монге работает $where в find()? В доке написано MongoDB will evaluate non-$where components of query before $where statements. If the non-$where statements match no documents, MongoDB will not perform any query evaluation using $where. Но на практике, запрос с $where даже при 0 найденных документов жутко грузит базу по процессору. У меня пока только есть предположение, что это из-за предкомпиляции js-кода.

запросы вида db.coll.find({$and: [ {..}, {...}, {$where: ...}]}) или db.coll.find({...}).where(...)

Nick
16.04.2018
20:53:18
запросы вида db.coll.find({$and: [ {..}, {...}, {$where: ...}]}) или db.coll.find({...}).where(...)
а можно инфу том как вообще можно комбинирвоать find и where?

Sergey
16.04.2018
21:01:20
а можно инфу том как вообще можно комбинирвоать find и where?
Да в общем-то через обычный $and работает нормально, ну кроме проблем со скоростью

Nick
16.04.2018
21:02:10
а в чем вообще необходимост ьwhere использовать?

Google
Sergey
16.04.2018
21:04:47
Не хочется гонять большой блоб из базы в бекенд чтобы потом просто отбросить его и вернуть 404.

Nick
16.04.2018
21:05:51
а что мешает вынести необходимые данные из блоба в сам документ для упрощения поиска?

Sergey
16.04.2018
21:06:25
Это и есть документ

Просто там полей много

Nick
16.04.2018
21:07:15
а размер дока?

в среднем

Sergey
16.04.2018
21:07:45
Сотня килобайт, может чуть больше

Nick
16.04.2018
21:08:20
уже просто так не погоняешься, хотя всеравно с диска читать

Sergey
16.04.2018
21:15:47
Ну на выходе после IXSCAN всегда 1 документ или ни одного. Только не понятно откуда такое падение на where. Просто достать документ целиком оказывается намного быстрее, чем делать фильтр с where.

Смотрел explain и профилировщик, там where вообще нигде не фигурирует даже

Rustam
17.04.2018
00:44:52
Есть статистика по производительности и характеристикам монги? Реально ли еле активный проект томкат+спринг+монго на гиге оперативы поднять? К примеру в дижиталоушен, самый дешевый хост за 5$

Pachvarsh
17.04.2018
07:10:23
здорово, ребята, как за один запрос получить два объекта из одной коллекции используя findOne()? То есть такой запрос: '''db.getCollection('name').find({$or:[{"name":123}, {"name":456}]})''' может вернуть мне больше 2 значений, если имена будут совпадать, а мне нужно именно 2 значения

Pachvarsh
17.04.2018
07:10:55
по одному на каждое условие

Pachvarsh
17.04.2018
07:41:43
limit?
тогда могут получиться оба значения с {"name":123}

Pachvarsh
17.04.2018
07:42:44
а нужно, грубо говоря, получить: db.getCollection('name').findOne({"name":123}) db.getCollection('name').findOne({"name":456}) за одну операцию

distinct?
а он то тут причем

Mykyta
17.04.2018
07:44:13
а он то тут причем
Ну ты же не можешь объяснить нормально, что тебе нужно, потому и тыкаю пальцем в небо

Dmitriy
17.04.2018
07:45:44
Я понял что ему нужно

Google
Dmitriy
17.04.2018
07:45:50
Но ответа пока нет

Alex
17.04.2018
08:05:04
Это баг или нет? Почему эта проекция возвращает пустоту

var p = Builders<С>.Projection.Slice(c => c.Items, 0, null);

Admin
ERROR: S client not available

Alex
17.04.2018
08:08:31
репортировать баг ?

Nick
17.04.2018
08:09:49
А тоже самое только в обыной js виде для монгошела работает?

Alex
17.04.2018
08:24:20
а тоже самое в js шеле нельзя сделать

Ivan
17.04.2018
08:26:17
db.setProfilingLevel(2); Запускай запрос db.setProfilingLevel(0); Иди в коллекцию system что-то там и смотри, что прилетело в монгу

Nick
17.04.2018
08:26:19
тогда куда вы баг хотите репортить?

Ivan
17.04.2018
08:27:10
Если прилетела дичь - открой issue драйверу

Alex
17.04.2018
08:29:45
{ "find" : "C", "filter" : { "_id" : CSUUID("0660bc3d-2d06-4b02-8dba-7bd3274b4491") }, "projection" : { "Items" : { "$slice" : 0 } }, "limit" : 1 }

Nick
17.04.2018
08:30:35
я вот в C# ни бумбум но контракт на Slice ожидает поле вторым аргументом, это норм что вы туда 0 передаете?

https://github.com/mongodb/mongo-csharp-driver/blob/master/src/MongoDB.Driver/ProjectionDefinitionBuilder.cs#L168

Alex
17.04.2018
08:33:39
ну вот кажется в том и проблема что C# драйвер неравильно интепретирует , я хочу написать пропустить 0 и взять всё

вообще как с помощью js , и слайс написать "пропустить 0 и взять всё"

такое возможно?

Nick
17.04.2018
08:35:14
смотрите внимательно там есть третий параметр для вашего skip

Alex
17.04.2018
08:36:22
я ставлю параметр limit = null , ожидая "взять всё"

Google
Alex
17.04.2018
08:37:53
если ставлю limit = 0 пишет

Command find failed: $slice limit must be positive.

Nick
17.04.2018
08:38:15
я говорю про skip а не про limit

Alex
17.04.2018
08:39:34
{ "$slice" : [0, 0] }

Nick
17.04.2018
08:45:55
мне вот интересно а зачем вам слайс если вам нужны все элементы? может просто вытащить массив?

Alex
17.04.2018
09:27:33
ну ладно ладно придется ifы городить (

Stivn
17.04.2018
10:38:44
HELPPP

MongoClient.connect(url, function(err, db){ if(err) throw err; var dbo = db.db('whizzy'); var id = new ObjectID(req.params.id); var newValues = null; var index = 'meta.parents.' + req.params.index; newValues = {$set: { index : { _id : '1001'}}}; if(newValues != null){ dbo.collection('kids').update({ _id : id }, newValues, function(err, res){ if(err) throw err; console.log('RECORD WAS UPDATED'); db.close(); }); } });

index, в запросе стучиться не к 'meta.parents.1' к примеру, а к 'index'

Nick
17.04.2018
10:48:47
посмотрите спеку вашего языка как добавить поле с нужным вам имененм

Yurii
17.04.2018
10:56:43
Константин
17.04.2018
14:32:19


User ?
17.04.2018
14:32:45




Dmitry
17.04.2018
14:33:04
РКН точно от ддоса лёг?

Страница 227 из 342