如何在MongoDB(Ruby)中更新1行数据

时间:2016-01-08 07:59:27

标签: mongodb mongodb-query mongodb-ruby

如果我使用以下代码在使用mongodb插入数据,我该如何更新它的值。我对update_one / update_many函数中的参数设置感到困惑。

require 'mongo'
require 'json/ext'

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'myDB')
client[:test_table].insert_many([
    {
          :last_date=> Time.now.strftime("%Y%m%d"),
          :morning_time=> "test",  
          :day1_fullDate=> "test"
    }
])

我没有做更新功能。 请帮忙!

1 个答案:

答案 0 :(得分:0)

已解决

test_id = "569466ea4050326b3c000002"
client[:test_table].update_one(
  {"_id" => BSON::ObjectId.from_string(test_id)},
    {"$set" =>
        {
          :last_date=> Time.now.strftime("%Y%m%d"),
          :morning_time=> "test123",  
          :day1_fullDate=> "test123"
        }
     }
 )

我发现MongoDB语法需要改变一点取决于你使用的编程语言。

例如,在我这边我正在使用 ruby​​ ,需要使用主文档中给出的代码进行一些调整 (例如https://docs.mongodb.org/manual/reference/method/db.collection.update/#update-parameter