2013-01-05 4 views
2

Ma requête ne trouve pas de documents dans ma collection MongoDBrequête MongoDB ne trouve pas de documents dans la collection

C'est un objet par exemple dans la base de données (notez que position.x et Position.Y sont en Salat désire ardemment)

{ 
    "_id": ObjectId("50e85039e4b0f225b98b8b34"), 
    "worldSlug": "test", 
    "position": { 
    "x": { 
     "floatApprox": 3 
    }, 
    "y": { 
     "floatApprox": 3 
    } 
    }, 
    "type": "village", 
    "owner": "mati", 
    "health": { 
    "got": 500, 
    "total": 500 
    } 
} 

C'est ma requête

{ 
    "worldSlug": "test", 
    "position": { 
    "x": { 
    "$gt": -31, 
    "$lt": 29 
    }, 
    "y": { 
     "$gt": -27, 
     "$lt": 33 
    } 
    } 
} 

Répondre

3

Vous devez utiliser dot notation pour interroger les champs intégrés. Utilisez un objet de requête comme celui-ci à la place:

{ 
    "worldSlug": "test", 
    "position.x": { 
    "$gt": -31, 
    "$lt": 29 
    }, 
    "position.y": { 
     "$gt": -27, 
     "$lt": 33 
    } 
} 
+0

Presque ok. La solution était cette notation par points. La propriété 'floatApprox' a été montrée seulement dans le shell car elle ne supporte pas le type Long – Mateusz

Questions connexes