Sonntag, Mai 31, 2020

MongoDB finden Sie im array

Ich habe eine mongodb JSON-array und ich habe Probleme Ortung Kategorien, zB.

{ name:"hoyts"}

Habe ich versucht {categories.name:"hoyts"} und ein paar andere, aber nichts scheint zu funktionieren.

Dies ist mein JSON:

   {
   "_id": ObjectId("4f67da1538fc5d7347000000"),
   "categories": {
     "id": 1,
     "name": "hoyts",
     "product-logo": "http: \/\/www.incard.com.au\/newsite\/template\/images\/movieticket\/4cinemas\/hoytstop.png",
     "products"▼: {
       "0": {
         "barcode": "25001",
         "name": "GoldClass",
         "Price": "12.00",
         "CashBack": "2.00" 
      },
       "1": {
         "barcode": "25002",
         "name": "Weekday",
         "Price": "12.00",
         "CashBack": "2.00" 
      },
       "2": {
         "barcode": "25003",
         "name": "Weekend",
         "Price": "24.00",
         "CashBack": "4.00" 
      } 
    } 
  },
   "store_name": "movies",
   "1": {
     "id": 2,
     "name": "village",
     "logo": "village.png",
     "products": {
       "0": {
         "barcode": "26001",
         "name": "GoldClass",
         "Price": "12.00",
         "CashBack": "2.00" 
      },
       "1": {
         "barcode": "26002",
         "name": "Weekday",
         "Price": "12.00",
         "CashBack": "2.00" 
      },
       "2": {
         "barcode": "26003",
         "name": "Weekend",
         "Price": "24.00",
         "CashBack": "4.00" 
      } 
    } 
  } 
}
  • was ist ‚array()‘ ? können Sie nach echtes JSON ?
  • Ich brauche nur auf die Produkte zurück, für die hoyts

1 Kommentar

  1. 4

    In der JSON, das Sie geschrieben Kategorien ist nicht ein array, sondern Objekt. Wenn wir davon ausgehen, dass Sie die Kategorien als array (innerhalb der []) verwenden, sollten Sie {"categories.name":"hoyts"} (mit Anführungszeichen für die Kategorien.name) für Ihre Kriterien. Die gleiche Sache wird funktionieren, wenn die „Kategorien“ ist nicht ein array, sondern Objekt (aber ich denke, dass Sie haben wollte, mehr Kategorien, da die name von „Eigentum“ ist plural.

    • das ist der JSON-mongo gab mir
    • Konnte Sie helfen Sie machen diese wahre JSON-dann bitte. Ich muss es suchen können
    • Kategorien sollten array: Kategorien: [ <Objekte>], derzeit sind deine Kategorien-Eigenschaft Objekt-Kategorien: {}.
    • Dies sollte funktionieren, finden Sie die MongoDb-Dokumentation: mongodb.org/display/DOCS/…
    • Sorry ganz neu mongo und nicht zu verstehen, können Sie tun, eine schnelle demo
    • es ist rechtliche JSON.
    • Es ist legal, aber ein eher fragwürdiges schema. Menschen wirklich brauchen, um Weg von speichern von arrays als Objekte mit array-Indizes als Feldnamen.
    • Tulentsev Es legal ist was ist geschrieben jetzt, aber es war nicht in der original-text der Frage. Ich bin die änderung meiner Antwort jetzt entsprechend der aktuellen version der Frage 🙂
    • ah, sorry 🙂
    • array-Indizes wie die Namen von Tasten – schreckliche Auswahl, einverstanden 🙂

Kostenlose Online-Tests