1
我試圖使用Rust更新MongoDB數據庫集合中的字段。我用這個代碼:使用Rust更新MongoDB中的數據
extern crate mongodb;
use mongodb::{Client, ThreadedClient};
use mongodb::db::ThreadedDatabase;
fn main() {
let client = Client::connect("ipaddress", 27017);
let coll = client.db("DEV").collection("DEV");
let film_a = doc!{"DEVID"=>"1"};
let filter = film_a.clone();
let update = doc!{"temp"=>"5"};
coll.update_one(filter, update, None).expect("failed");
}
這給了我一個錯誤說只更新與$
運營商,經過一番搜索,似乎意味着我應該使用$set
工作。我一直在嘗試不同的版本,但只能得到不匹配的類型錯誤等。
coll.update_one({"DEVID": "1"},{$set:{"temp" => "5"}},None).expect("failed");
我哪裏錯了?
數據庫看起來像這樣。
db.DEVICES.find()
{ "_id" : ObjectId("59a7bb747a1a650f1814ef85"), "DEVID" : 1, "temp" : 0,
"room_temp" : 0 }
{ "_id" : ObjectId("59a7bb827a1a650f1814ef86"), "DEVID" : 2, "temp" : 0,
"room_temp" : 0 }
我試圖用引號和其他一些東西括起來,它仍然不會工作,我開始認爲它剛剛壞了。我開始嘗試使用C封裝,但他們沒有任何例子,我仍然很新。 – dmnte
我上面粘貼的代碼編譯並運行在Rustc 1.19上。 – PureW
代碼也爲我編譯和運行,但並沒有改變字段,在代碼即時通訊使用「1」,但在數據庫它只是1.這是否重要? – dmnte