Qwerty
Мне правда трудно представить программиста умеющего в один фрейм, учитывая то, что это, в большинстве случаев, всего обертка за бизнес-логикой. Но, в любом случае, я считаю, что быть «плохим программистом» вовсе не вытекает из того, что он использует ту или иную технология, думаю проблема в самом человеке. ИМХО
Denis
Хочу мониторить managed mongodb на яндекс облаке через mongodb-exporter от percona
Почему то нет метрик от serverStatus (количество подключений и тд) и сыпятся такие ошибки
time="2024-04-18T11:24:25Z" level=error msg="Failed to get $dbstats for database local: (Unauthorized) not authorized on local to execute command { dbStats: 1, scale: 1, lsid: { id: UUID(\"111") }, $clusterTime: { clusterTime: Timestamp(1713439465, 55), signature: { hash: BinData(0, 111), keyId: 111 } }, $db: \"local\", $readPreference: { mode: \"primaryPreferred\" } }"
time="2024-04-18T11:24:35Z" level=error msg="cannot run getDiagnosticData: (Unauthorized) not authorized on admin to execute command { getDiagnosticData: \"1\", lsid: { id: UUID(\"111\") }, $clusterTime: { clusterTime: Timestamp(1713439475, 76), signature: { hash: BinData(0, 111), keyId: 111 } }, $db: \"admin\", $readPreference: { mode: \"primaryPreferred\" } }"
time="2024-04-18T11:24:35Z" level=error msg="cannot run getDiagnosticData: response is empty"
time="2024-04-18T11:24:35Z" level=error msg="cannot decode getDiagnosticData: <nil> for data field: unexpected data type"
time="2024-04-18T11:24:35Z" level=error msg="cannot decode getCmdLineOtpions: cannot execute getCmdLineOpts command: (Unauthorized) not authorized on admin to execute command { getCmdLineOpts: \"1\", lsid: { id: UUID(\"111\") }, $clusterTime: { clusterTime: Timestamp(1713439475, 76), signature: { hash: BinData(0, 111), keyId: 111 } }, $db: \"admin\", $readPreference: { mode: \"primaryPreferred\" } }"
time="2024-04-18T11:24:35Z" level=error msg="cannot retrieve engine type: Engine is unavailable"
time="2024-04-18T11:24:35Z" level=error msg="Failed to get $dbstats for database local: (Unauthorized) not authorized on local to execute command { dbStats: 1, scale: 1, lsid: { id: UUID(\"111\") }, $clusterTime: { clusterTime: Timestamp(1713439475, 79), signature: { hash: BinData(0, 111), keyId: 111 } }, $db: \"local\", $readPreference: { mode: \"primaryPreferred\" } }"
У пользователя есть права на чтение ко всем бд, и mdbMonitor на admin
Запускаю через compose
services:
mongodb-exporter:
image: percona/mongodb_exporter:0.40
container_name: mongodb-exporter
ports:
- 9216:9216
- 17001:17001
command: --collect-all --web.listen-address=:9216 --mongodb.uri="mongodb://user:pass@fqdn:27018/?tls=true&tlsCAFile=/root/.mongodb/root.crt"
volumes:
- ./.mongodb:/root/.mongodb
Hovo
привет всем, кто может объяснить когда нужно вызвать метод close конекшна?
я написал такую функцию что бы 1-ый раз открить конекшн а потом везде импортировать и използват ее, но не знаю когда нужно закриват, или вообще не нужно закриват?))))
Нуриддин
+ для экономии времени, лучше сразу смотреть примеры под той реалиционкой с которой хотите работать. Они имеют общий стандарт sql но исполнение и функции могут различаться и стоит понимать это с начала
Тима $SNET
Всем доброго вечера, помогите пожалуйста с подключением Python Telegram бота к базе данных Mongo DB. Выдает эту ошибку:
pymongo.errors.ServerSelectionTimeoutError: ac-ly1vtnw-shard-00-02.9xgnu6e.mongodb.net:27017: timed out,ac-ly1vtnw-shard-00-01.9xgnu6e.mongodb.net:27017: timed out,ac-ly1vtnw-shard-00-00.9xgnu6e.mongodb.net:27017: timed out, Timeout: 30s, Topology Description: <TopologyDescription id: 662543cd2eb0a29446d9761f, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('ac-ly1vtnw-shard-00-00.9xgnu6e.mongodb.net', 27017) server_type: Unknown, rtt: None, error=NetworkTimeout('ac-ly1vtnw-shard-00-00.9xgnu6e.mongodb.net:27017: timed out')>, <ServerDescription ('ac-ly1vtnw-shard-00-01.9xgnu6e.mongodb.net', 27017) server_type: Unknown, rtt: None, error=NetworkTimeout('ac-ly1vtnw-shard-00-01.9xgnu6e.mongodb.net:27017: timed out')>, <ServerDescription ('ac-ly1vtnw-shard-00-02.9xgnu6e.mongodb.net', 27017) server_type: Unknown, rtt: None, error=NetworkTimeout('ac-ly1vtnw-shard-00-02.9xgnu6e.mongodb.net:27017: timed out')>]>
Yevgenii
привет. помогите уже полдня не могу понять в чем проблема. мне нужно использовать призму с бд монго. все сделал по доке но проблема в том когда использую команду npx prisma db pull у меня ошибка Kind: An error occurred during DNS resolution: proto error: io error: A socket operation was attempted to an unreachable network. (os error 10051), labels: {}
0: schema_core::commands::schema_push::Calculate `from`
at schema-engine\core\src\commands\schema_push.rs:29
1: schema_core::state::SchemaPush
at schema-engine\core\src\state.rs:433 это ошибка именно с подключением к бд Монго . Но тот же Compass исправно подключается к базе данных по той же url ссылке. Ip list настроен верно: у меня там мой ip плюс ещё 0.0.0.0/0 .
Y
Доброго дня, подскажите хочу проджойнить две коллекции.
В первой коллекции adjustments_collection есть поле id_light_snapshot типа Стринг, ключ, который лежит во второй коллекиции light_snapshots это _id, тип ObjectId,
Если джойнить так, то 'joinedResult будет пустой, если во вторую коллекцию light_snapshots ввести test_id типа стринг, аналогичное по значению _id, то все проджойнится.
Может можно обойтись как-то без дополнительной предобработки а обрабатывать прям в запросе?
"""
cursor = adjustments_collection.aggregate(
[
{
'$lookup': {
'from': 'light_snapshots',
'localField': 'id_light_snapshot',
'foreignField': '_id',
'as': 'joinedResult'
}
}]
)
result = await cursor.to_list(length=None)
"""
Val
Но сам факт, что понадобилось заниматься такими костылями, вызывает кучу вопросов к создателям. Айдишники желательно должны быть генерируемые ObjectId.
Все остальные варианты требуют жёсткого обоснования