我正在尝试使用简单值更新 MongoDB 文档中的哈希,但它将值存储在数组中。我使用 mongo 的 ruby 驱动程序
代码会更好地解释,因为我的英语不好。
我有的 :
{
'id' : ...
'stream' : {
"1406481985(a timestamp)" : 35603
}
}
我想要的是 :
{
'id' : ...
'stream' : {
"1406481985" : 35603,
"1406481990" : 15000
}
}
我得到什么:
{
'id' : ...
'stream' : {
"1406481985" : 35603,
"1406481990" : [
15000
]
}
}
我是怎么到那里的:
views = 15000
time = Time.now
coll.find_and_modify({
query: {:id => id},
update: {'$push' => {"stream.#{time}" => views}},
})
我已经尝试过在 MongoDB 中更新嵌套文档,但我看不出我做错了什么