2016-07-26 8 views
0

私は次のようにMongoDBに提出されたハッシュがあります:私はcells.valuesが12に等しい細胞に照会することができる方法モンゴイドのすべてのハッシュ値を照会する方法は?

Record document 
cells: { 
      "5742a6af744f6b0dcf0003d1"=>"1", 
      "5742a6af744f6b0dcf0003d2"=>"12" 
      "5742a6af744f6b0dcf0003d3"=>"12" 
     } 

を?

+0

「ハッシュキー」(「5742a6af744f6b0dcf0003d1」など)は同じか異なりますか? – Emu

+0

@Emuキーが異なります – xlaok

答えて

1

MongoDBでこのクエリを実行することはできません。あなたは、次のような収集データをフォーマットする必要があります。

{ 
    "_id": ObjectId("5406e4c49b324869198b456a"), 
    "cells": [ 
    { "number": "5742a6af744f6b0dcf0003d1", "value": 1 }, 
    { "number": "5742a6af744f6b0dcf0003d2", "value": 12 }, 
    { "number": "5742a6af744f6b0dcf0003d3", "value": 12 } 
    } 
} 

次に、あなたは次のように照会できます。

db.collection_name.find({'cells.value': { $eq: 12 }}) 

あなたのデータ形式は、「アンチパターン」実際にあります。それが不可能な理由です。

希望すると助かります!

関連する問題