MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB заместващ знак в ключа на заявка

Както беше зададено, това не е възможно. Проблемът със сървъра, към който сте се свързали, все още е под „проблеми, за които не сме сигурни“ .

MongoDB има известна интелигентност около използването на масиви и мисля, че това е част от сложността около такава функция.

Вземете следната заявка db.foo.find({ 'a.b' : 4 } ) . Тази заявка ще съответства на следните документи.

{ a: { b: 4 } }
{ a: [ { b: 4 } ] }

И така, какво прави "заместващият знак" тук? db.foo.find( { a.* : 4 } ) Съвпада ли с първия документ? Какво ще кажете за втория?

Освен това, какво означава това семантично? Както описахте, заявката всъщност е „намерете документи, където всяко поле в този документ има стойност 4“ . Това е малко необичайно.

Има ли конкретна семантика, която се опитвате да постигнете? Може би промяна в структурата на документа ще ви даде заявката, която искате.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да сортирам масив в запис на колекция в MongoDB?

  2. Как да премахнете документ, посочен от идентификатор в mongoDB от php?

  3. Преобразувайте DBObject в POJO с помощта на MongoDB Java драйвер

  4. Как лесно да управлявате актуализации на база данни и корекции за сигурност

  5. добавяне на полета created_at и updated_at към схемите на mongoose