标签: spring-mongo

spring data mongodb @Query 带有排除选项

使用spring data mongo存储库类,我们如何声明一个方法来返回排除了少数字段的文档?Spring数据参考文档显示了“包含”字段机制,但没有显示排除。来自spring 文档的代码:

public interface PersonRepository extends MongoRepository<Person, String>

  @Query(value="{ 'firstname' : ?0 }", fields="{ 'firstname' : 1, 'lastname' : 1}")
  List<Person> findByThePersonsFirstname(String firstname);

}
Run Code Online (Sandbox Code Playgroud)

我需要一种机制来指定要排除的字段?存储库方法是否支持此功能?

spring-data spring-mongo

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

java中地理空间字段的2dsphere索引的Spring mongodb注释......?

@JsonSerialize
@Document(collection = "fence")
@CompoundIndexes({
        @CompoundIndex(name = "loc_groupId_idx", 
                       def = "{ 'loc': 2dsphere, 'groups.groupId': 1 }",      
                       unique = false) })
public class GeofenceMongoVO {

  public GeofenceMongoVO() {}

  @Id
  private String fenceId;

  @Field
  private Long customerId;

  @Field
  private String fenceName;

  @Field
  private Byte type;
Run Code Online (Sandbox Code Playgroud)

这就是我试图确保地理空间字段和子文档(groupId)字段上的复合索引的方式。但不幸的是,这不起作用。有没有一种方法可以通过注释从java代码中确保2dsphere索引?

spring mongodb spring-mongo spring-mongodb

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

如何使用@Query注释构建查询?

有没有办法使用spring-data mongo @Query注释来表示下面的查询.

db.users.find({userName: "titogeo"}, {requests: 1, _id:0})
Run Code Online (Sandbox Code Playgroud)

控制台中的上述查询输出是

请求":[{"who":"blahblahblah1","who":"blahblahblah2",
"
what":"REQUEST",
"when":ISODate("2012-09-05T17:52:14.339Z")}] }

我尝试了以下但没有奏效.

@Query("{userName: ?0}, {requests:1, _id:0}")
public Page<AddRequest> getAllFriendRequests(String userName, Pageable pageable);
Run Code Online (Sandbox Code Playgroud)

集合用户拥有User对象和请求是其中包含AddRequest对象的列表.

当我执行上面的方法时,我得到一个空白列表.任何帮助表示赞赏.

还有什么好的参考网站或书籍spring-data-mongo apis?

java mongodb spring-data spring-mongo

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

Spring Mongo从json字符串转换为文档

我有一个用@Document注释的Mongo集合,我希望有可能从String(JSON)中获取Java对象,因为我们将这些类作为String推送到队列中.

Spring-Data-Mongo中有一个方法可以将JSON转换为实际的Document对象吗?

spring-mongo spring-mongodb

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

使用Spring Data在$ project MongoDB中进行$ filter

我有一个子文档,它是父文档的数组."设备"

在那个数组中,我有一个属性是Date属性.

我想通过确定的日期找到包含子子文档的父文档,如下所示:

{
"_id" : ObjectId("5818fa596969a1339093a7da"),
"fecha" : ISODate("2016-11-01T05:00:00.000Z"),
"spot" : "5808e3926969a126c8365c94",
"devices" : [ 
    {
        "evaluationDate" : ISODate("2016-11-01T20:26:00.000Z"),
        "seenTimesCounter" : 0,
        "category" : "PRE_PASAJERO",
        "status" : "NO_CONECTADO"
    }, 
    {
        "evaluationDate" : ISODate("2016-11-01T20:26:00.000Z"),
        "seenTimesCounter" : 0,
        "category" : "PRE_PASAJERO",
        "status" : "NO_CONECTADO"
    },  
    {
        "evaluationDate" : ISODate("2016-11-01T20:26:00.000Z"),
        "seenTimesCounter" : 0,
        "category" : "PRE_PASAJERO",
        "status" : "NO_CONECTADO"
    }, 
    {
        "evaluationDate" : ISODate("2016-11-01T20:26:00.000Z"),
        "seenTimesCounter" : 0,
        "category" : "PRE_PASAJERO",
        "status" : "NO_CONECTADO"
    }, 
    {
        "evaluationDate" : ISODate("2016-11-01T20:26:00.000Z"),
        "seenTimesCounter" : 0, …
Run Code Online (Sandbox Code Playgroud)

java spring mongodb spring-data spring-mongo

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

如何在mongoDB中编写联合查询

是否可以使用2个或更多个类似于SQL查询的集合在Mongo DB中编写联合查询?

我正在使用spring mongo模板,用例是我需要根据某些条件从3-4个集合中获取数据。我们可以一次完成此操作吗?

例如,我有一个名为“ circuitId”的字段,该字段存在于所有4个集合中。现在,在搜索操作中,我需要从该字段与给定值匹配的所有4个集合中获取所有记录。

mongodb spring-mongo

0
推荐指数
3
解决办法
1840
查看次数

MongoDB 连接两个集合

这是订单实体:

public class Order 
{
    @Id
    private String id;
    private String internalId;
    private String externalId;
    private String status;
}

public class OrderAssigned 
{
    @Id
    private String id;
    private String internalId;
    private String externalId;
    private String stationId;
    private String rejectStatus;
}
Run Code Online (Sandbox Code Playgroud)

我想加入这两个集合。

  • 首先我想找到stationId
  • 然后加入Orders.internalIdOrderAssigned.internalIdstatus = "OrderCreated"

就像这个 SQL 查询:

select orders.* 
from PARTNER_RESTAURANT_ORDER orders 
inner join PARTNER_RESTAURANT_ORDER_ASSIGNED_STATION assigned_station on orders.internalId = assigned_station.internalId 
where assigned_station.stationId = "5e2968e2763e750001c8ba5f" 
  and orders.status = "OrderCreated"
Run Code Online (Sandbox Code Playgroud)

mongodb spring-mongo aggregation-framework spring-mongodb

0
推荐指数
1
解决办法
8546
查看次数