我在mongodb中提交了一个哈希,如:
Record document
cells: {
"5742a6af744f6b0dcf0003d1"=>"1",
"5742a6af744f6b0dcf0003d2"=>"12"
"5742a6af744f6b0dcf0003d3"=>"12"
}
我如何查询cell.values等于12的单元格?
答案 0 :(得分: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 }})
您的数据格式实际上是“反模式”。这就是为什么不可能的原因。
希望它有所帮助!