我在mongodb中使用spring数据来存储二进制数据,如图像等。我想维护一个要附加到url的版本字段,以防止浏览器缓存图像。
见下面的基类文件:
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Version;
import org.springframework.data.mongodb.core.index.Indexed;
public abstract class BaseDocument {
@Id
@Indexed(unique=true)
protected long id;
protected byte[] data;
protected String mimeType;
protected String filename;
protected String extension;
@Version
private Long version;
我还有一个存储库,用于保存我的文档。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class DocumentRepository implements IDocumentRepository {
@Autowired
private MongoOperations mongoTemplate;
@Override
public <D extends BaseDocument> void saveDocument(D document) {
mongoTemplate.save(document);
}
在尝试实现版本控制时,我四处寻找,发现SpringMongo有一个@Version注释,但已被弃用。然后我发现应该使用spring data@Version注释。所以我继续使用spring data@Version注释。
我期望发生的是,每次保存文档时,我的版本字段都会递增。我多次覆盖相同的文档,但我的版本字段没有像我预期的那样递增。
我是否做了一些不正确的事情,或者我是否需要做一些额外的事情?
为了使用@Version annotation,您需要在Spring Data MongoDB中通过向应用程序上下文添加一行来启用审核:
<mongo:auditing />
我对使用数据注释到DTO类感到困惑。这是我的示例类。 我在网上读到,特别是在DTO类上使用数据注释将允许通过使用生成的设置器来更改字段的值。 我应该删除lombok Data注释吗?并手动实现getter和setter。 谢谢:)
我正在使用Spring数据为我的应用程序获取数据。 repository类使用mongo实体类,该实体类作为上游依赖项添加到我的项目中,这意味着我无法控制更改该类的源代码。因此,我无法使用组织中的文档注释。springframework。数据mongodb。果心映射到我的mongo实体类。 在这里,我对Dummy类的源代码没有任何控制权,因此我无法添加文档来指定该类的集合名称 如何在使用查询mon
另外,请举例说明何时使用annotaion。 提前感谢。
我已经按照这里描述的“测试Spring MVC切片”一节为Spring MVC控制器编写了一个测试类。类如下所示: 当我运行它时,我得到了以下错误: 有人能解释为什么@webmvctest注释对我不起作用吗?
问题内容: 我在shell中找到了一些列出集合的答案,但是我发现所有在nodejs脚本中列出集合的答案似乎都已被弃用,像like 和return 这样的答案都没有方法。 问题答案: 在用于node.js的MongoDB驱动程序的2.0版本中,您可以用来获取包含所有集合信息的游标。然后,您可以调用光标以检索信息。
但是显示错误“Distinc expected”,是因为我在@Query注释中使用了*而得到的吗?请问怎么了?