给定一个集合example
:
{
"_id" : ObjectId("59635df23f0ee432913d908b"),
"a" : "TRK-001",
"b" : "ca21d580-801c-4e4c-8f16-7b5b8959924a",
"c" : "PENDING",
"d" : ISODate("2017-07-10T10:58:58.213Z")
}
我想更新a
与提供的值数组匹配的多条记录,
将b
的值设置为其他值。如果没有匹配的a
使用提供的值,我想在数组中为每个值插入一条记录。
对我来说有意义的方法是使用update
和multi
执行upsert
true
设置为db.example.update({
"a": { $in: [ "TRK-001", "TRK-002", "TRK-003" ] },
"c": "PENDING"
}, {
$set: { b: "2b46d749-37e9-472a-8cd9-11535f31dd90" },
$setOnInsert: { d: new Date() }
}, {
"multi" : true, "upsert" : true
});
。
{
"_id" : ObjectId("5963608f3f0ee432913d908f"),
"c" : "PENDING",
"b" : "2b46d749-37e9-472a-8cd9-11535f31dd90",
"d" : ISODate("2017-07-10T11:10:07.057Z")
}
但结果并不是我所期待的:
a
只创建了一条记录,并且没有对值tableView.tableFooterView = UIView()
的引用。
有没有办法用普通的mongodb和spring-data-mongodb做到这一点?