如果我有样本字典:
mydict = {1:{2:'A'}}
如何向关键1
添加新数据,以便它可以像:
mydict = {1:{2:'A'},{3:'B'}}
当我做mydict.update({3:'B'})
我得到:
{1: {2: 'A'}, 3: 'B'}
不是{1: {2: 'A'}, {3: 'B'}}
如果我使用相同的密钥尝试.update
,它只会替换数据:
mydict.update({1:{3:'B'}})
变成了
{1: {3: 'B'}}
答案 0 :(得分:1)
你已经有了一个很好的图书馆:
//SAVE
self.updateClient = function (client) {
var defer = $q.defer();
const id = client._id; //ADDED
console.log('client - before calling http: ', client);
console.log('id- before calling http: ', id);
$http.put("/api/client/" + id, {client : client})
.then(function (result) {
//alert(result.data.msg);
console.log(client);
defer.resolve(result);
}).catch(function (err) {
defer.reject(err);
});
return defer.promise;
}
然后您可以轻松获取2键的数据!像:
//SAVE
app.put("/api/client/:id", function (req, res) {
console.log(req.params.id); //returns correct id
console.log(req.body.client); //returns newly edited data
Client.updateOne({ "id" : req.params.id }, { $set: req.body.client }, (err, result) => {
if (err) {
console.log(err);
handleError(err, res);
return;
}
res.status(200).json({msg: 'Successfully saved'});
});
});
答案 1 :(得分:0)
执行mydict.update({3:'B'})
时,您正在更新错误的词典。
您似乎想要更新mydict[1]
这假设你实际上想要{1: {2: 'A', 3: 'B'}}
的结果,因为你的例子{1: {2: 'A'}, {3: 'B'}}
是无效的python。
请尝试mydict[1].update({3:'B'})
答案 2 :(得分:0)
只需添加
mydict[1].update({3:'B'})
答案 3 :(得分:0)
mydict ={2:'a',3:'b'}
d={1:mydict}
print (d)
{1: {2: 'a', 3: 'b'}}
to update more key:values you can add to mydict