我正在尝试使用 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");
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误,说 update 仅适用于$运算符,经过一番搜索后似乎意味着我应该使用$set. 我一直在尝试不同的版本,但只会出现类型不匹配的错误等。
coll.update_one({"DEVID": "1"},{$set:{"temp" => "5"}},None).expect("failed");
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
数据库看起来像这样。
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 …Run Code Online (Sandbox Code Playgroud) 我有两个相同长度的列表列表,如下所示.
list1 = [[],[],[1,2,3,4],[],[2,5,6]]
list2 = [[],[],[1,9,3,9],[],[1,8,6]]
Run Code Online (Sandbox Code Playgroud)
我想加入这些列表,以便如果列表中有值,它将被添加到列表中的相同索引,例如[[],[],[1,2,3,4,9],[],[1,2,5,6,8]].我试图使用map(list,zip(list1,list2))但是将两个列表合并到一个列表中,例如内部有两个空列表index[0].而不是这个我想要index[0]添加到两个列表中的值index[0],如果两个列表中都没有值,则此列表应保持为空.最好的方法是什么?
我想做一些非常简单的事情,但似乎无法得到它.我有一个字典,其中值是一个列表.我试图只是对列表求和并将值分配回与int相同的键.使用第一行下面的代码不会做任何事情,第二行正如它所说的那样将值放回到列表中.我试过的所有其他事情给了我一个错误,只能分配迭代.据我所知,iterables是可以迭代的任何东西,例如list而不是int.为什么我只能使用iterable,我该如何解决这个问题?使用的词典在这里(https://gist.github.com/ishikawa-rei/53c100449605e370ef66f1c06f15b62e)
for i in dict.values():
i = sum(i)
#i[:] = [sum(i) / 3600] # puts answer into dict but as a list
Run Code Online (Sandbox Code Playgroud)