我已经实现了Serializable、实现了hashCode和equals。
public class SalesKey implements Serializable {
Date timestamp;
String hostName;
public Date getTimestamp() {
return timestamp;
}
public void setTimestamp(Date timestamp) {
this.timestamp=timestamp;
}
public void setHostName(String hostName) {
this.hostName=hostName;
}
public String getHostName() {
return hostName;
}
@Override
public int hashCode() {
..
}
@Override
public boolean equals(Object obj) {
...
}
}
我在MongoDB文档类中使用自定义键类,如下所示。
@Document(collection = "Sales")
public class Sales {
@Id
SalesKey salesKey;
//Other fields
}
我可以使用spring data mongodb将文档保存到mongodb中。
Sales sales=new Sales();
SalesKey salesKey=getSalesKey();
sales.setSalesKey(salesKey)
//set other fields for sales object
//Save sales Document object to mongodb
@Query(value = "{ '_id' : ?0 }")
public Sales filterBySalesKey(SalesKey salesKey);
我首先使用的标准如下。
Criteria salesKeyCriteria = Criteria.where("_id").is(salesKey);
根据上述标准,我然后执行一个update状态,
但是,我的更新失败,出现错误,
由于saleskey
是您的Mongo_id
,您可以使用MongoTemplate执行以下操作:
@Autowired
private MongoTemplate mongoTemplate;
...
Query query = new Query(Criteria.where("_id").is(salesKey));
mongoTemplate.updateFirst(query,Update.update("field", "new-value"),Sales.class);
跟进您对mongo explain的评论
如果我看看mongo Shell中的更新说明:
$ db.sales.explain().update({"_id" : { "timestamp" : ISODate("2016-08-25T12:12:59.251Z"), "hostName" : "myhostname" }},{value:"new-value"})
"winningPlan" : {
"stage" : "UPDATE",
"inputStage" : {
"stage" : "IDHACK"
}
},
{ "_id" : { "timestamp" : ISODate("2016-08-25T12:12:59.251Z"), "hostName" : "value" }, "value" : "new" }
问题内容: 我目前正在编写一个小应用程序,以跟踪货币的来龙去脉,这只是为了提高我的C#常规技能。目前,对于我的登录屏幕,我具有以下代码 登录成功后,我要执行的操作是将当前PC的MachineName写入我的SQL数据库中“用户”表中的字段。这样,当我开始创建记录时,我可以快速找到我的UsersId(这是我的Transactions表中的外键)。 我知道您可以使用System.Enviroments
问题内容: 我的文件 夹Folder 具有以下架构: 因此,对于每个页面,我可以拥有许多权限。在CMS中,有一个面板,其中列出了所有文件夹及其权限。管理员可以编辑一个权限并保存。 我可以很容易地用其权限数组保存整个 Folder 文档,其中只修改了一个权限。但是我不想保存所有文档(实际架构中包含更多字段),所以我这样做了: 但是问题是 烫发 总是 不确定的 !我试图以这种方式“静态地”获取许可:
我找不到这个线程的合适标题(帮帮我)。我不能描述这个问题,所以这里是我的问题的例子。 我的数组: 我想得到这样的输出: 您可以在索引键0中看到分数子键的更改。这是因为索引键0和3的应答子键中有两个值“a”。由于两者的总和(34),分数改为7分。我真的不知道该怎么做,对不起我的英语,谢谢你的帮助。请随意评论。:)
我正在使用Spring Data MongoDB和Spring Data Rest创建一个Rest API,它允许对我的MongoDB数据库进行GET、POST、PUT和DELETE操作,除了更新操作(PUT)之外,其他操作都很好。只有当我在请求体中发送完整对象时,它才起作用。 我试着在这里搜索一个解决方案,但我只找到了以下帖子,但没有解决方案:如何使用MongoRepository接口更新mon
当前正在处理一个文本字段,如果您输入您的号码,它会像这样更新: 1##-###-#### 12#-###-#### 不幸的是,通过控制台将输入“1234”转换为“123-4###########”是可行的,但当我按下更新的字符串“123-4###-#####”时,它会自动将光标部分替换到开始位置,并不断替换第一位数字。当更新文本框中的字符串时,是否有人可以帮助保存光标位置?这是我的更新代码。
问题内容: 我的“ Street_Address_1”列中包含以下数据: 大街123号 使用Postgresql,如何编写查询以更新“地址”表中的“ Street_Name”列?换句话说,“ Street_Name”为空白,我想用“ Street_Address_1”列中包含的街道名称值填充它。 据我所知,我想使用“ regexp_matches”字符串方法。不幸的是,我没有很多运气。 注意:您可