如何查询 mongoid 中的所有哈希值?
Posted
技术标签:
【中文标题】如何查询 mongoid 中的所有哈希值?【英文标题】:how to query on all hash values in mongoid? 【发布时间】:2016-07-26 07:35:48 【问题描述】:我在 mongodb 中有一个哈希文件,例如:
Record document
cells:
"5742a6af744f6b0dcf0003d1"=>"1",
"5742a6af744f6b0dcf0003d2"=>"12"
"5742a6af744f6b0dcf0003d3"=>"12"
如何查询 cells.values 等于 12 的单元格?
【问题讨论】:
hash keys
(例如“5742a6af744f6b0dcf0003d1”)是相同还是不同?
@Emu 键不同
【参考方案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 )
您的数据格式实际上是“反模式”。这就是不可能的原因。
希望对你有帮助!
【讨论】:
以上是关于如何查询 mongoid 中的所有哈希值?的主要内容,如果未能解决你的问题,请参考以下文章
RedisRedis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )