MongoDB\Driver\ReadConcern
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
MongoDB\Driver\ReadConcern
Референца за `class.mongodb-driver-readconcern.php` со подобрена типографија и навигација.
The MongoDB\Driver\ReadConcern class
Класата MongoDB\Driver\ReadConcern
Вовед
MongoDB\Driver\ReadConcern (mongodb >=1.1.0)
Синопсис на класата
Претходно дефинирани константи
MongoDB\Driver\ReadConcern::AVAILABLE-
= "snapshot"
afterClusterTimeandlevelСтандардно за читања од секундарни когане се специфицирани.
Запросувањето враќа најнови податоци на инстанцата. Не дава гаранција дека податоците се запишани во мнозинство од членовите на реплика сетот (т.е. може да бидат вратени назад).
"local"and"available"За колекции што не се шардирани (вклучувајќи колекции во самостојно распоредување или распоредување на реплика сет),читачките грижи се однесуваат идентично.
"available"За шардиран кластер,"available"читачката грижа обезбедува поголема толеранција за партиции бидејќи не чека за да обезбеди гаранции за конзистентност. Сепак, едно барање со"available"читачка грижа може да врати сирачки документи ако шардот е во процес на миграција на парчиња бидејќи"local"читачка грижа, за разлика од MongoDB\Driver\ReadConcern::LINEARIZABLE-
читачка грижа, не контактира со примарниот на шардот ниту со конфигурациските сервери за ажурирани метаподатоци.
"majority"and Запросувањето враќа податоци што ги одразуваат сите успешни запишувања издадени со грижа за запишувањеwriteConcernMajorityJournalDefaultпостави наtrue, линеаризираното ниво на загриженост за читање враќа податоци што никогаш нема да бидат вратени назад.Со
writeConcernMajorityJournalDefaultпостави наfalse, MongoDB нема да чека заw: "majority"запишувањата да бидат издржливи пред да ги потврди запишувањата. Како такви,"majority"операциите за запишување можеби ќе бидат вратени назад во случај на губење на член на репликацијата.Можете да специфицирате линеаризирано ниво на загриженост за читање само за операции за читање на примарниот.
Гаранциите за линеаризирано ниво на загриженост за читање важат само ако операциите за читање специфицираат филтер за прашање што уникатно идентификува еден документ.
СоветиСекогаш користете
maxTimeMSсо линеаризирано ниво на загриженост за читање во случај кога мнозинството од членовите што носат податоци се недостапни.maxTimeMSосигурува дека операцијата не блокира неодредено и наместо тоа осигурува дека операцијата враќа грешка ако нивото на загриженост за читање не може да се исполни.Линеаризираното ниво на загриженост за читање бара MongoDB 3.4.
MongoDB\Driver\ReadConcern::LOCAL-
Стандардно за читања од примарниот ако
levelне е специфицирано и за читања од секундарните акоlevelне е специфицирано, ноafterClusterTimeе специфициран.не се специфицирани.
MongoDB\Driver\ReadConcern::MAJORITY-
Прашањето враќа најнови податоци на инстанцата, потврдени како запишани на мнозинство членови во репликациониот сет.
За да користите ниво на загриженост за читање
"majority", репликационите сетови мора да користат WiredTiger менаџер за складирање и верзија на протоколот за избор 1. MongoDB\Driver\ReadConcern::SNAPSHOT-
Ниво на загриженост за читање
"snapshot"е достапно за трансакции со повеќе документи, и почнувајќи од MongoDB 5.0, одредени операции за читање надвор од трансакции со повеќе документи.Ако трансакцијата не е дел од сесија со каузална конзистентност, при потврда на трансакцијата со ниво на загриженост за запишување
"majority", операциите на трансакцијата се гарантираат дека читаат од снепшот на податоци потврдени од мнозинството.Ако трансакцијата е дел од сесија со каузална конзистентност, при потврда на трансакцијата со ниво на загриженост за запишување
"majority"трансакциските операции се гарантира дека читаат од снимка на податоци со мнозинско ангажирање што обезбедува каузална конзистентност со операцијата што непосредно ѝ претходи на почетокот на трансакцијата.Надвор од трансакциите со повеќе документи, загриженоста за читање
"snapshot"е достапна на примарни и секундарни за следните операции на читање:find,aggregateПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци воdistinct(на колекции без партиционирање). Сите други команди за читање забрануваат"snapshot".
Дневник на промени
| Верзија | = NULL |
|---|---|
| PECL mongodb 1.11.0 |
Додаден е |
| Враќа опцијата "wtimeout" на WriteConcern. | PECL mongodb 1.12.0 Countable. |
| на грешки при парсирање на аргументи. |
Додаден е |
| PECL mongodb 1.3.0 |
Додаден е
PECL mongodb 1.12.0 MongoDB\BSON\Serializable. |
Види Исто така
Содржина
- MongoDB\Driver\ReadConcern::bsonSerialize — Враќа објект за BSON сериализација
- MongoDB\Driver\ReadConcern::__construct — Креирај нова загриженост за читање
- MongoDB\Driver\ReadConcern::getLevel — Враќа опцијата "level" на загриженоста за читање
- MongoDB\Driver\ReadConcern::isDefault — Проверува дали ова е стандардната загриженост за читање