在我的MongoDB集合中,我有一些字段,其中一个是“EntitySet,现在我需要插入一个新字段,例如”EntityAlchemy“。
现在的样子:
"EntitySet": [
{
"Name" : "maka",
"EntityType" : "Person",
"Relevance" : 0.0,
"SentimentScore" : 0.0,
"CountInText" : 0
}
]
在更新后它应该看起来像这些
"EntitySet" : [
{
"Name" : "maka",
"EntityType" : "Person",
"Relevance" : 0.0,
"SentimentScore" : 0.0,
"CountInText" : 0
}
],
"EntityAlchemy" : [
{
"Name" : "DZ Bank",
"EntityType" : "Company",
"Relevance" : 0.0,
"SentimentScore" : 0.0,
"CountInText" : 0
}
]
我只能找到如何更新现有字段。有人可以帮忙怎么做?
答案 0 :(得分:1)
使用this post添加更多键值对。
语法是:
db.collection.update({query}, {$set: {key-value pairs}});
示例:
db.coll1.update({_id:1},
{$set: "EntityAlchemy" : [
{
"Name" : "DZ Bank",
"EntityType" : "Company",
"Relevance" : 0.0,
"SentimentScore" : 0.0,
"CountInText" : 0
}
]});
答案 1 :(得分:0)
你可以使用$ push for array,如果不存在,mongo会将该字段创建为数组。
var alchemy = {
"Name" : "DZ Bank",
"EntityType" : "Company",
"Relevance" : 0.0,
"SentimentScore" : 0.0,
"CountInText" : 0
};
db.getCollection('test').update({_id:1},{$push : {'EntityAlchemy' : alchemy}});