删除MongoDB中的值
如何在MongoDB中删除一个值而不是整个键 例如,我有一个包含以下数据的键“hello”:删除MongoDB中的值,mongodb,mongodb-query,Mongodb,Mongodb Query,如何在MongoDB中删除一个值而不是整个键 例如,我有一个包含以下数据的键“hello”: > db.Data.find({'id': 'hello'}, {'_id':0}).pretty() { "id" : "hello", "Foo" : BinData(0,"1="), "Bar" : BinData(0,"1="
> db.Data.find({'id': 'hello'}, {'_id':0}).pretty()
{
"id" : "hello",
"Foo" : BinData(0,"1="),
"Bar" : BinData(0,"1="),
"Baz" : BinData(0,"1=="),
}
现在,如果我尝试在delete语句中筛选值“Foo”,它不会删除
> db.fileData.deleteOne({"id": "hello", "Foo": 0})
{ "acknowledged" : true, "deletedCount" : 0 }
我只想删除一个值“Foo”而不是整个键“hello”,你是怎么做到的
使用
db.fileData.updateOne(
{ id : "hello" }, // query
{ $unset: { Foo: "" } } // update $unset will remove Foo
)