簡體   English   中英

如何使用Spring Data MongoDB查詢無效引用的文檔

[英]How to query for documents with invalid references using spring data mongodb

假設我們有一個集合A,該集合通過一個稱為“ bref”的字段引用了集合B,該字段是集合B中ObjectId的數組。對於集合A,我感興趣的有4種情況:

  1. 至少一個bref數組項指向B中的有效文檔。
  2. bref數組為空。
  3. bref數組不存在(因此為null)。
  4. bref數組中的所有項目均未指向有效的B文檔。

在Spring數據中,使用MongoRepository,我能夠從上面解決以下情況:

  1. getByBrefLike(ObjectId brefId,Pageable pageable)
  2. getByBrefIsNullOrBrefIsLessThanEqual(String [] emptyString,Pageable pageable)
  3. getByBrefIsNullOrBrefIsLessThanEqual(String [] emptyString,Pageable pageable)
  4. 尚未解決。

問題:

  1. 是否可以像上例中那樣使用spring-data mongodb存儲庫來檢測A中指向B中不存在引用的文檔?
  2. 您將如何防止這種情況的發生? (是否可以定義一些約束)?
  3. 如果無法使用spring-data解決方案,mongodb解決方案將是什么樣?

嘗試這個

Pageable<T> findByBrefNotIn(List<ObjectId> brefs, Pageable, pageable)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM