Nick
всем привет, можно ли _id сделать обычным id?
если имеется в виду переименовывание то нет
Nick
Добрый день. Подскажите, пожалуйста, если одну из трех нод монга кластера (риплика сет) вывести из него, то будут ли на этом сервере доступны базы?
да, возможно вам стоит глянуть на hidden node режим https://www.mongodb.com/docs/manual/core/replica-set-hidden-member/ https://www.mongodb.com/docs/manual/tutorial/configure-a-hidden-replica-set-member/
Александр
Приветсвую использую агрегацию mongoose. Подскажите пожалуйста как восстановить все поля после использования project?
Nick
Приветсвую использую агрегацию mongoose. Подскажите пожалуйста как восстановить все поля после использования project?
именно после project никак, т.к. он формирует набор полей и те что не перечислены удаляются. Вам скорее всего надо просто добавить еще одно вычислимое поле, для этого используйте $addFields вместо $project
Anton
да, возможно вам стоит глянуть на hidden node режим https://www.mongodb.com/docs/manual/core/replica-set-hidden-member/ https://www.mongodb.com/docs/manual/tutorial/configure-a-hidden-replica-set-member/
Благодарю. Интересует именно возможность получить данные если вывести из работы одну из нод. Не знал про hidden ноды, интересно!
Artem
Всем привет. Как используя ChangeStream и получая поток ChangeStreamDocument продублировать команду в другую БД. Грубо говоря как среплицировать действия монги на другую базу монги?
Artem
Всем привет. Как используя ChangeStream и получая поток ChangeStreamDocument продублировать команду в другую БД. Грубо говоря как среплицировать действия монги на другую базу монги?
Я думал что смогу обработать весь набор получаемых изменений но это слишком много кода. Неужели changeStream есть, а обработчика или маппера в команду для runCommand нет?
Alexandrr
скобки фигурные в .find() убрать нужно
Marty
Попробую, спасибо!
Nick
Я думал что смогу обработать весь набор получаемых изменений но это слишком много кода. Неужели changeStream есть, а обработчика или маппера в команду для runCommand нет?
вы описали репликацию, которая итак ест ьиз коробки с строится на oplog-е с которого идут события для changeStream. Если вам обычной репликации не нужно, наверняка какойнить дебезиум может занятсья репликацией
Artem
вы описали репликацию, которая итак ест ьиз коробки с строится на oplog-е с которого идут события для changeStream. Если вам обычной репликации не нужно, наверняка какойнить дебезиум может занятсья репликацией
Дело в том что у меня есть один кластер и второй, и есть необходимость с определенного момента начать репликацию между кластерами. Я могу используя штатные средства и данные oplog реализовать это?
Nick
Дело в том что у меня есть один кластер и второй, и есть необходимость с определенного момента начать репликацию между кластерами. Я могу используя штатные средства и данные oplog реализовать это?
на днях случайно наткнулся на https://www.mongodb.com/docs/cluster-to-cluster-sync/current/, сам не пробовал, но по описанию то что вам надо. Хз какие там ограничения в работе
Nick
это не про синхронизацию, а просто для организации сетевой доступности между кластерами куба. Тут же имеются в виду кластера монги
Artem
Спасибо буду все изучать и пробовать
Nick
странно это предполагать, если кубер даже не упоминался
Артём
Привет. Как можно сделать find по полю, содержащему точку?
Alexandrr
А как?
https://www.mongodb.com/docs/manual/core/dot-dollar-considerations/
Ratatata
Всем привет. Подскажите пожалуйста. я возвращаю массив документов(которые были отфильтрованы с помощью aggregation). У этих документов есть поле "itemId", которое идентично полю "id" документов из другой коллекции. Как мне вернуть конечный массив документов, но дополненных еще и информацией документов из другой коллекции(т.е что-то вроде $lookup, но лишь нужные документы)
Alexandr
Всем привет. Пытался тестово прогнать upgrade с 4.4 на 5.0.14. Пользовался инструкцией: https://docs.percona.com/percona-server-for-mongodb/5.0/install/upgrade-from-44.html После запуска 5й версии получаю ошибку: trap invalid opcode ip:55ee05a584ea sp:7fffeb859aa0 error:0 in mongod[5lid opcode ip:55ee05a584ea sp:7fffeb859aa0 error:0 in mongod[55ee01865000+550e000] trap invalid opcode ip:55ee05a584ea sp:7fffeb859aa0 error:0 in mongod[5lid opcode ip:55ee05a584ea sp:7fffeb859aa0 error:0 in mongod[55ee01865000+550e000] Не нашел каких то объяснений в интернете, кроме как совместимость процессоров. КТо нибудь сталкивался с такой ошибкой?
Alexandr
Запуск обычный через systemctl
Pavel
Коллеги, а почему выборка по _id одного документа может быть больше 1 секунды
Alexandrr
Коллеги, а почему выборка по _id одного документа может быть больше 1 секунды
по причине отсутствия индексов тех параметров, которые входят в составной запрос. (вроде бы по дефолту для "_id" создаётся индекс)
Роман
а что будет если я удалю документ, на который ссылается какой-то другой документ?
Роман
Допустим пользователь добавил в корзину товар, но товар уже не доступен
Роман
Или мне стоит не удалять его, а допустим установить какое-то поле, что он больше не доступен?
Alexandrr
Или мне стоит не удалять его, а допустим установить какое-то поле, что он больше не доступен?
можно удалять, тогда нужно писать понятный идентификатор для фронта в этом случае. если не удалять, то можно использовать понятный идентификатор как "amount: 0". обе практики имеют свои плюсы и минусы. чаще используют "обнуление", что бы другая информация о товаре была доступна всегда, например: - описание товара - фотографии - иная информация в случае с удалением - товар будет полностью недоступен (его характеристики). в некоторых случаях это необходимо, например на всяких платформах, где информация о товаре считается приватной и др.
Роман
Потому что мне интересно, если допустим пользователь ссылается на товар, а если удалить этот ОbjectId, то что произойдёт то
Роман
Спасибо, насчёт обнуления интересная идея
Nick
Коллеги, а почему выборка по _id одного документа может быть больше 1 секунды
скорее всего изза того что вы неправильно замеряете. Выполните запрос с explain и посмотрите какое там будет указано время
Nick
а что будет если я удалю документ, на который ссылается какой-то другой документ?
все что угодно, зависит от вашей логики в коде. В монге нет форейн ключей и поэтому можно удалят ьвсе что угодно в любом порядке - целостность должна контролироваться на стороне приклада
Роман
я тоже подумал, что зависит от того, что я буду делать с этим ид
Anonymous
Привет
Anonymous
node-telegram-bot-api deprecated Automatic enabling of cancellation of promises is deprecated. In the future, you will have to enable it yourself. See https://github.com/yagop/node-telegram-bot-api/issues/319. node:internal/modules/cjs/loader:1218:14 (node:7246) Warning: Accessing non-existent property 'count' of module exports inside circular dependency (Use node --trace-warnings ... to show where the warning was created) (node:7246) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency (node:7246) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency (node:7246) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency (node:7246) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect. (node:7246) DeprecationWarning: Mongoose: findOneAndUpdate() and findOneAndDelete() without the useFindAndModify option set to false are deprecated. See: https://mongoosejs.com/docs/deprecations.html#-findandmodify- { id: 6145344981, is_bot: true, first_name: 'TestInvest', username: 'testinvestsabot', can_join_groups: true, can_read_all_group_messages: false, supports_inline_queries: false } /storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/pool.js:443 return handleOperationCallback(self, workItem.cb, new MongoError(responseDoc)); ^ MongoError: (Unauthorized) not authorized on admin to execute command { insert: "users", documents: [[{trees []} {_id ObjectID("5dfaac928d3ea75ef63263ba")} {id 0} {buybalance 0} {outbalance 0} {bhivebalance 0} {wb_profits 0} {name Infix ©} {fc 0} {ref 0} {regDate 18/12/2019} {deposit 0} {payout 1100} {fetuses 0} {menu {"price":20,"status":false,"count":5,"bought":3}} {lastCollect 1.576709266975e+12} {ban false} {refCount 0} {not false} {v 0} {totalEarn 0}] [{trees []} {_id ObjectID("5dfbe31493b06e7818e2c5d7")} {id 1} {menu {"price":20,"status":true,"count":5,"bought":3}} {v 0} {totalEarn 0}]], ordered: true, writeConcern: { w: "majority" }, lsid: { id: {4 [71 86 255 36 185 18 76 71 190 219 77 248 205 28 175 83]} }, txnNumber: 1.000000, $clusterTime: { clusterTime: {1675346250 1}, signature: { hash: {0 [233 233 43 216 117 159 144 102 182 27 218 212 128 69 153 135 55 56 75 203]}, keyId: 7161800894554570752.000000 } }, $db: "admin" } at Connection.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/pool.js:443:61) at Connection.emit (node:events:513:28) at processMessage (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:364:10) at TLSSocket.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:533:15) at TLSSocket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) { ok: 0, errmsg: '(Unauthorized) not authorized on admin to execute command { insert: "users", documents: [[{trees []} {_id ObjectID("5dfaac928d3ea75ef63263ba")} {id 0} {buybalance 0} {outbalance 0} {bhivebalance 0} {wb_profits 0} {name Infix ©} {fc 0} {ref 0} {regDate 18/12/2019} {deposit 0} {payout 1100} {fetuses 0} {menu {"price":20,"status":false,"count":5,"bought":3}} {lastCollect 1.576709266975e+12} {ban false} {refCount 0} {not false} {v 0} {totalEarn 0}] [{trees []} {_id ObjectID("5dfbe31493b06e7818e2c5d7")} {id 1} {menu {"price":20,"status":true,"count":5,"bought":3}} {v 0} {totalEarn 0}]], ordered: true, writeConcern: { w: "majority" }, lsid: { id: {4 [71 86 255 36 185 18 76 71 190 219 77 248 205 28 175 83]} }, txnNumber: 1.000000, $clusterTime: { clusterTime: {1675346250 1}, signature: { hash: {0 [233 233 43 216
Anonymous
117 159 144 102 182 27 218 212 128 69 153 135 55 56 75 203]}, keyId: 7161800894554570752.000000 } }, $db: "admin" }', code: 8000, codeName: 'AtlasError', [Symbol(mongoErrorContextSymbol)]: {} }
Anonymous
Вот такая проблема
Anonymous
Не понимаю как решить
Nick
node-telegram-bot-api deprecated Automatic enabling of cancellation of promises is deprecated. In the future, you will have to enable it yourself. See https://github.com/yagop/node-telegram-bot-api/issues/319. node:internal/modules/cjs/loader:1218:14 (node:7246) Warning: Accessing non-existent property 'count' of module exports inside circular dependency (Use node --trace-warnings ... to show where the warning was created) (node:7246) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency (node:7246) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency (node:7246) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency (node:7246) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect. (node:7246) DeprecationWarning: Mongoose: findOneAndUpdate() and findOneAndDelete() without the useFindAndModify option set to false are deprecated. See: https://mongoosejs.com/docs/deprecations.html#-findandmodify- { id: 6145344981, is_bot: true, first_name: 'TestInvest', username: 'testinvestsabot', can_join_groups: true, can_read_all_group_messages: false, supports_inline_queries: false } /storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/pool.js:443 return handleOperationCallback(self, workItem.cb, new MongoError(responseDoc)); ^ MongoError: (Unauthorized) not authorized on admin to execute command { insert: "users", documents: [[{trees []} {_id ObjectID("5dfaac928d3ea75ef63263ba")} {id 0} {buybalance 0} {outbalance 0} {bhivebalance 0} {wb_profits 0} {name Infix ©} {fc 0} {ref 0} {regDate 18/12/2019} {deposit 0} {payout 1100} {fetuses 0} {menu {"price":20,"status":false,"count":5,"bought":3}} {lastCollect 1.576709266975e+12} {ban false} {refCount 0} {not false} {v 0} {totalEarn 0}] [{trees []} {_id ObjectID("5dfbe31493b06e7818e2c5d7")} {id 1} {menu {"price":20,"status":true,"count":5,"bought":3}} {v 0} {totalEarn 0}]], ordered: true, writeConcern: { w: "majority" }, lsid: { id: {4 [71 86 255 36 185 18 76 71 190 219 77 248 205 28 175 83]} }, txnNumber: 1.000000, $clusterTime: { clusterTime: {1675346250 1}, signature: { hash: {0 [233 233 43 216 117 159 144 102 182 27 218 212 128 69 153 135 55 56 75 203]}, keyId: 7161800894554570752.000000 } }, $db: "admin" } at Connection.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/pool.js:443:61) at Connection.emit (node:events:513:28) at processMessage (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:364:10) at TLSSocket.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:533:15) at TLSSocket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) { ok: 0, errmsg: '(Unauthorized) not authorized on admin to execute command { insert: "users", documents: [[{trees []} {_id ObjectID("5dfaac928d3ea75ef63263ba")} {id 0} {buybalance 0} {outbalance 0} {bhivebalance 0} {wb_profits 0} {name Infix ©} {fc 0} {ref 0} {regDate 18/12/2019} {deposit 0} {payout 1100} {fetuses 0} {menu {"price":20,"status":false,"count":5,"bought":3}} {lastCollect 1.576709266975e+12} {ban false} {refCount 0} {not false} {v 0} {totalEarn 0}] [{trees []} {_id ObjectID("5dfbe31493b06e7818e2c5d7")} {id 1} {menu {"price":20,"status":true,"count":5,"bought":3}} {v 0} {totalEarn 0}]], ordered: true, writeConcern: { w: "majority" }, lsid: { id: {4 [71 86 255 36 185 18 76 71 190 219 77 248 205 28 175 83]} }, txnNumber: 1.000000, $clusterTime: { clusterTime: {1675346250 1}, signature: { hash: {0 [233 233 43 216
так там же написано MongoError: (Unauthorized) not authorized on admin to execute command
Anonymous
Я сделал только что юзера админом
Anonymous
MongoNetworkError: failed to connect to server [ac-au1wqsi-shard-00-01.g98kcxf.mongodb.net:27017] on first connect [MongoNetworkError: connection 3 to ac-au1wqsi-shard-00-01.g98kcxf.mongodb.net:27017 closed at TLSSocket.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:352:9) at Object.onceWrapper (node:events:628:26) at TLSSocket.emit (node:events:513:28) at node:net:320:12 at TCP.done (node:_tls_wrap:588:7) { errorLabels: [Array], [Symbol(mongoErrorContextSymbol)]: {} }] at Pool.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/topologies/server.js:431:11) at Pool.emit (node:events:513:28) at /storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/pool.js:557:14 at callback (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connect.js:109:5) at /storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connect.js:129:7 at Connection.errorHandler (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connect.js:321:5) at Object.onceWrapper (node:events:628:26) at Connection.emit (node:events:513:28) at TLSSocket.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:350:12) at Object.onceWrapper (node:events:628:26) at TLSSocket.emit (node:events:513:28) at node:net:320:12 at TCP.done (node:_tls_wrap:588:7) { errorLabels: [ 'TransientTransactionError' ], [Symbol(mongoErrorContextSymbol)]: {}
Роман
ахахахаха
Anonymous
Уже другая ошибка
Anonymous
Я уже зае
Nick
Уже другая ошибка
так читайте ошибки, разбирайтесь в чем проблемы постепенно
Alexandrr
node-telegram-bot-api deprecated Automatic enabling of cancellation of promises is deprecated. In the future, you will have to enable it yourself. See https://github.com/yagop/node-telegram-bot-api/issues/319. node:internal/modules/cjs/loader:1218:14 (node:7246) Warning: Accessing non-existent property 'count' of module exports inside circular dependency (Use node --trace-warnings ... to show where the warning was created) (node:7246) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency (node:7246) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency (node:7246) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency (node:7246) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect. (node:7246) DeprecationWarning: Mongoose: findOneAndUpdate() and findOneAndDelete() without the useFindAndModify option set to false are deprecated. See: https://mongoosejs.com/docs/deprecations.html#-findandmodify- { id: 6145344981, is_bot: true, first_name: 'TestInvest', username: 'testinvestsabot', can_join_groups: true, can_read_all_group_messages: false, supports_inline_queries: false } /storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/pool.js:443 return handleOperationCallback(self, workItem.cb, new MongoError(responseDoc)); ^ MongoError: (Unauthorized) not authorized on admin to execute command { insert: "users", documents: [[{trees []} {_id ObjectID("5dfaac928d3ea75ef63263ba")} {id 0} {buybalance 0} {outbalance 0} {bhivebalance 0} {wb_profits 0} {name Infix ©} {fc 0} {ref 0} {regDate 18/12/2019} {deposit 0} {payout 1100} {fetuses 0} {menu {"price":20,"status":false,"count":5,"bought":3}} {lastCollect 1.576709266975e+12} {ban false} {refCount 0} {not false} {v 0} {totalEarn 0}] [{trees []} {_id ObjectID("5dfbe31493b06e7818e2c5d7")} {id 1} {menu {"price":20,"status":true,"count":5,"bought":3}} {v 0} {totalEarn 0}]], ordered: true, writeConcern: { w: "majority" }, lsid: { id: {4 [71 86 255 36 185 18 76 71 190 219 77 248 205 28 175 83]} }, txnNumber: 1.000000, $clusterTime: { clusterTime: {1675346250 1}, signature: { hash: {0 [233 233 43 216 117 159 144 102 182 27 218 212 128 69 153 135 55 56 75 203]}, keyId: 7161800894554570752.000000 } }, $db: "admin" } at Connection.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/pool.js:443:61) at Connection.emit (node:events:513:28) at processMessage (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:364:10) at TLSSocket.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:533:15) at TLSSocket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) { ok: 0, errmsg: '(Unauthorized) not authorized on admin to execute command { insert: "users", documents: [[{trees []} {_id ObjectID("5dfaac928d3ea75ef63263ba")} {id 0} {buybalance 0} {outbalance 0} {bhivebalance 0} {wb_profits 0} {name Infix ©} {fc 0} {ref 0} {regDate 18/12/2019} {deposit 0} {payout 1100} {fetuses 0} {menu {"price":20,"status":false,"count":5,"bought":3}} {lastCollect 1.576709266975e+12} {ban false} {refCount 0} {not false} {v 0} {totalEarn 0}] [{trees []} {_id ObjectID("5dfbe31493b06e7818e2c5d7")} {id 1} {menu {"price":20,"status":true,"count":5,"bought":3}} {v 0} {totalEarn 0}]], ordered: true, writeConcern: { w: "majority" }, lsid: { id: {4 [71 86 255 36 185 18 76 71 190 219 77 248 205 28 175 83]} }, txnNumber: 1.000000, $clusterTime: { clusterTime: {1675346250 1}, signature: { hash: {0 [233 233 43 216
я бы такое на месте админов удалил, и, "вежливо" попросил опубликовать на ресурсе типа: "пастебин"
Роман
MongoNetworkError: failed to connect to server [ac-au1wqsi-shard-00-01.g98kcxf.mongodb.net:27017] on first connect [MongoNetworkError: connection 3 to ac-au1wqsi-shard-00-01.g98kcxf.mongodb.net:27017 closed at TLSSocket.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:352:9) at Object.onceWrapper (node:events:628:26) at TLSSocket.emit (node:events:513:28) at node:net:320:12 at TCP.done (node:_tls_wrap:588:7) { errorLabels: [Array], [Symbol(mongoErrorContextSymbol)]: {} }] at Pool.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/topologies/server.js:431:11) at Pool.emit (node:events:513:28) at /storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/pool.js:557:14 at callback (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connect.js:109:5) at /storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connect.js:129:7 at Connection.errorHandler (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connect.js:321:5) at Object.onceWrapper (node:events:628:26) at Connection.emit (node:events:513:28) at TLSSocket.<anonymous> (/storage/emulated/0/Brawlstars/node_modules/mongodb-core/lib/connection/connection.js:350:12) at Object.onceWrapper (node:events:628:26) at TLSSocket.emit (node:events:513:28) at node:net:320:12 at TCP.done (node:_tls_wrap:588:7) { errorLabels: [ 'TransientTransactionError' ], [Symbol(mongoErrorContextSymbol)]: {}
К базе данных похоже не может подключиться
Anonymous
Я уже понял
Anonymous
Может быть проблема в url бд?
Nick
Может быть проблема в url бд?
ответить на этот вопрос сможете только вы)
Anonymous
Угу
Anonymous
Пойду перебирать бд
Nick
проверьте что настроены доступы на сетевом уровне к базе
Gleb
Приветствую вас, коллеги! Подскажите пожалуйста: у меня есть список категорий, просто список со строками по сути. Как мне его лучше хранить в базе данных? Потому что мне каждый раз нужно из бд подтягивать весь список, чтобы он отображался в приложении. Потом есть функция добавления категорий, и мне надо будет обновлять уже существующий документ, или хранить кучу доков с каждой категорией?
bravo
Добрый день , можно задать вопрос по mongodb + запрос через Python ? или кто сможет подсказать напишите в ЛС пожалуйста спасибо
bravo
Как сделать запрос в базу при этом сразу отсортировать по дате и забрать нужные параметры ? gen_time = datetime(2022, 8, 6) dummy_id = ObjectId.from_datetime(gen_time) result = db.1.2.find({},{"_id": {"$lt": dummy_id}, "document.id": 1, "document.ud": 1, "document.uy": 1, "stat": 1}) по
Alexandr
судя по всему какойто краш по либам и дальше только дебагером. А монга перконовская? и 4.4. перед этим до последнего патча обновляли?
да перконовская, как я понял mongo 5 нужна поддержка avx инструкций, коих нет в моем проце, пока только примерное предположение.
Alexandrr
Приветствую вас, коллеги! Подскажите пожалуйста: у меня есть список категорий, просто список со строками по сути. Как мне его лучше хранить в базе данных? Потому что мне каждый раз нужно из бд подтягивать весь список, чтобы он отображался в приложении. Потом есть функция добавления категорий, и мне надо будет обновлять уже существующий документ, или хранить кучу доков с каждой категорией?
лучше кучу документов, по 1 категории в каждом. так: - это расширяемая структура (вдруг понадобится, скорее всего, как обычно, задать/добавить доп. свойства категориям) - если их не так много (не более 1-2 млн), если размер в кб позволителен для умеренной нагрузки сети клиента и сервера - в документе есть ограничение в 16 мб, если структура будет разрастаться по этому лучше коллекция, внутри каждая категория = документу п.с. если правильно понял вопрос
Gleb
Там даже сотни не наберется)
Alexandrr
Там даже сотни не наберется)
тогда вообще на фронте в локал-сторадже хранить можно, сверяя только хэши и всё
Gleb
Кхм.. У меня приложение на C# WinFоrms.
Gleb
Alexandrr
Кхм.. У меня приложение на C# WinFоrms.
а что десктопные приложения не умеют что-то хранить у пользователя локально?
Gleb
Да хрен его знает, я хочу монгу использовать.
Gleb
Да хрен его знает, я хочу монгу использовать.
Впринципе есть конечно, какой нибудь xml или ещё какая-то разновидность порнографии, но я уже высказался о своих предпочтениях)
Gleb
А вас Александр я благодарю за помощь!
Alexandrr
Впринципе есть конечно, какой нибудь xml или ещё какая-то разновидность порнографии, но я уже высказался о своих предпочтениях)
заглядывая в будущее, скажу, чтоб не грузить сеть, не ебать базу и клиента, такие вещи нужно хранить в БД (если мало данных), если много на CDN каком-нить, отдавать только тогда, когда хэши не совпадают. это избавит от кучи проблем.