【发布时间】:2015-04-28 20:23:48
【问题描述】:
我想更改 MongoDB NoSQL 数据集中数组中元素的字段。但是在更新时,由于并行化,我不知道该元素具有哪个索引。我所知道的是存储在该元素内部的一些值。
我的数据
course = {
_id: ObjectId("some-id"),
someOtherFields: {
...
}
myList: [
{
uid: ObjectId("some-user-id-1"),
someField: "value to change",
...
},
...
]
}
查询以显示具有特定 uid 的所有“课程”的 myList 条目看起来像
我的查询
db.courses.find(
{"myList": {"$elemMatch":{"uid":"my-uid-to-find"}}},
{"_id":true, "someOtherField":true, "myList.$":true}
)
问题
问题是我怎样才能只用查询更新这一行而不用 知道它的索引。
我想更改
someField的myList.$哪里myList.$.uid=someIdToFind
【问题讨论】:
-
你没有在你的数据中定义
mailinglist? -
哎呀,抱歉,我的列表已经更新了
标签: mongodb