【发布时间】:2015-06-08 21:08:10
【问题描述】:
给定以下数据结构:
{
"_id" : ObjectId("55760212e4b011ee8c72fb1f"),
"firstname" : "joe",
"lastname" : "blow",
"email" : "jb@gmail.com",
"sysadmin" : false,
"siteadmin" : false,
"sites" : [
{
"siteId" : ObjectId("55760212e4b011ee8c72fb1e"),
"notification" : false
}
]
}
我正在尝试使用ObjectId 作为搜索条件来$pull 嵌套的sites 对象。以下代码:
val siteSearch = MongoDBObject("siteId" -> siteId)
val query = MongoDBObject("sites" -> siteSearch)
db(collection).update(query, $pull(query))
生成关注query
{ "sites" : { "siteId" : { "$oid" : "55760212e4b011ee8c72fb1e"}}}
我假设它不会删除该网站,因为我希望 query 看起来像:
{ "sites" : { "siteId" : ObjectId("55760212e4b011ee8c72fb1e")}}
我不确定如何让 Cashbah 发出正确的查询。
【问题讨论】: