簡體   English   中英

基於 mongodb 中 Object 中的陣列的過濾器

[英]FIlter based on array inside Object in mongodb

嗨,我正在使用 mongoose 創建一個 object,它的字段類型為 object。 object 還有兩個字段 start_date 和 end_date。 現在我得到一個查詢,它應該過濾掉不與任何 start_date 到 end_date 期間一致的記錄。 即(query_end_date < start_date 或 query_start_date > end_date)

type : [{
            userId : {
                type : mongoose.Schema.ObjectId,
                required : true
            },
            startDate : {
                type : Date,
                required : true
            },
            endDate : {
                type : Date,
                required : true
            }   
        }]

您可以使用$gt$lt運算符以及查詢嵌套文檔數組的語法進行查詢:

async function Query(query_start_date, query_end_date){
  try{
    let users = await Model.find({ $or: [{ "field.startDate" : { $gt : query_end_date}} ,
                                   {"field.endDate" : { $lt : query_start_date}} });
    console.log(users);
  } catch(err){
    console.log("Error ", err);
  }

參考

暫無
暫無

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

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