2016-01-08 2 views
0

Si j'ai le code ci-dessous pour insérer des données en utilisant mongodb, comment puis-je mettre à jour sa valeur. Je suis confus avec le réglage des arguments dans la fonction update_one/update_many.Comment faire pour mettre à jour 1 ligne de données dans MongoDB (Ruby)

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" 
    } 
]) 

Je n'ai pas pu effectuer la mise à jour. S'il vous plaît aider!

Répondre

0

SOLVED

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" 
     } 
    } 
) 

j'ai découvert que la syntaxe MongoDB a besoin de changer un peu dépend de ce langage de programmation que vous utilisez.

Par exemple, dans mon côté, je suis en utilisant rubis et a besoin d'un ajustement de bits avec le code figurant dans la documentation principale (par exemple https://docs.mongodb.org/manual/reference/method/db.collection.update/#update-parameter)