- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我只想使用 pullAll 从我的 mongoDB 数组中删除几个对象
db.collection.update({'_id': ObjectId(".....")}, { $pullAll : { 'notifications' : [{'type' : type}, {'id': id}]} })
为什么这不起作用?正确的语法是什么?
更新:
文档是:
{
"_id" : ObjectId("......"),
"notifications" : [ { "type" : "aaa",
"id" : "123" },
{ "type" : "bbb",
"id" : "123" },
{ "type" : "ccc",
"id" : "234" }]
}
最佳答案
您的问题可能出在以下两个地方之一:
首先你的更新有语法问题:
db.collection.update({'_id': ObjectId(".....")},
{ $pullAll :
{ 'notifications' : [{'type' : type}, {'id': id}]
}
}
)
应该是:
db.collection.update({'_id': ObjectId(".....")},
{ $pullAll :
{ 'notifications' : [{'type' : type, 'id': id}]
}
}
)
请注意,我删除了 }、{
并将类型和 ID 连接到一个 JSON 子文档中。
另一个问题是您的数组元素似乎有 id
值,这些值是“123”形式的字符串 - 您确定要将字符串传递给更新语句吗?字符串“123”不等于整数 123。
关于具有多个参数的 MongoDB pullAll 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13458928/
我有包含以下文档的数据库: > db.bios.find({"name.first":"James"}).pretty() { "_id" : 9, "name" :
目前我在 mongo 中有一个这样的数据结构: { "_id": "field00048", "colorValues": [ { "state
我有以下文件: { _id: 1 items: ['1a', '1b', '1c'] }, { _id: 2, items: ['2a', '2b', '2c'] } 是否可以
我只想使用 pullAll 从我的 mongoDB 数组中删除几个对象 db.collection.update({'_id': ObjectId(".....")}, { $pullAll : {
我有一个具有以下结构的 mongoDB 文档: { user:user_name, streams:[ {user:user_a, name:name_a},
我有一个如下所示的文档: db.blog.findOne() { "_id" : ObjectId("4dc1c938c4bfb4d21a000001"), "blog
我有这个 Mongoose 模式: // ------- creating active_rooms model ------- var active_rooms_schema = mongoose.
我目前正在使用其 C# 驱动程序与 MongoDB 打交道,尝试 API 中的每种方法(如果他们提供一些例子,这会更好) 一个接一个。 目前我正在使用 Update.PullAll() 方法。 我正在
我遇到了一个关于 mongodb 的问题。 db.tt.find() { "_id" : ObjectId("513c971be4b1f9d71bc8c769"), "name" : "a",
我是一名优秀的程序员,十分优秀!