如何基于$ in运算符来竖立多个记录?

时间:2017-07-10 11:17:23

标签: mongodb mongodb-query spring-data-mongodb

给定一个集合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 使用提供的值,我想在数组中为每个值插入一条记录。

对我来说有意义的方法是使用updatemulti执行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做到这一点?

0 个答案:

没有答案