相关疑难解决方法(0)

mongodb mongoTemplate获得具有一些标准的不同字段

我的MongoDB json结构是

 {
    "_id" : "122134231234234",
    "name" : "Total_pop",
    "description" : "sales category",
    "source" : "public",
    "dataset" :"d1"


},
{
    "_id" : "1123421231234234",
    "name" : "Total_pop",
    "description" : "sales category",
    "source" : "public",
    "dataset" :"d1"


},
{
    "_id" : "12312342332423343",
    "name" : "Total_pop",
    "description" : "sales category",
    "source" : "private",
    "description" : "d1"
}
Run Code Online (Sandbox Code Playgroud)

我需要获得不同的数据集的集合,其中source是公共的.我试过这个查询,但它不起作用:

Criteria criteria = new Criteria();
criteria.where("source").in("public");     
query.addCriteria(criteria);
query.fields().include("name");
query.fields().include("description");
query.fields().include("description");
query.fields().include("source"); List list =
mongoTemplate.getCollection("collectionname").distinct("source", query);
Run Code Online (Sandbox Code Playgroud)

你能帮帮我吗?

java mongodb spring-mongodb

11
推荐指数
2
解决办法
2万
查看次数

如何编写查询以从 mongodb 集合中获取不同的值?

我需要从集合中获取不同的值。这些数据位于集合的字段中。这意味着我需要从用户集合中获取名称集。我使用 cmd 尝试了它,并得到了我需要的结果。但我不明白如何在 spring 文件中编写查询。由于我是 java 新手,所以我没有足够的知识来处理这个问题。

下面给出的是数据库集合的图像 在此输入图像描述

服务.java

package limark.internal.css.services;

import limark.internal.css.core.model.User;
import limark.internal.css.exceptions.ResourceNotFoundException;
import limark.internal.css.persistence.UserRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.validation.constraints.NotNull;
import java.lang.reflect.Array;
import java.time.OffsetDateTime;
import java.util.List;

import static limark.internal.css.core.MessageConstants.USER_NOT_FOUND;

@Service
@Slf4j
public class UserService {

  private final UserRepository userRepository;

  @Autowired
  public UserService(final UserRepository userRepository){
    this.userRepository = userRepository;
  }

  /**
   * Creates a new User
   * @param user object
   * @return user object
   */
  public User create(User user){
    user.setCreatedByLoginId("");
    user.setCreatedTs(OffsetDateTime.now());

    return userRepository.save(user);
  }

  /**
   * Returns …
Run Code Online (Sandbox Code Playgroud)

java database spring mongodb

2
推荐指数
1
解决办法
3503
查看次数

标签 统计

java ×2

mongodb ×2

database ×1

spring ×1

spring-mongodb ×1