簡體   English   中英

使用聚合和項目搜索文檔的所有屬性,並在貓鼬中更改日期格式

[英]Searching for all properties of a document using aggregation and project with change in date format in mongoose

我的數據庫模型看起來像

{
  email: { type: String, required: true },
  name: { type: String, required: true },
  projectId: { type: String, required: true },
  createdAt: { type: Date, required: false },
  updatedAt: { type: Date, required: false },
};

createdAt的格式為2021-10-07T11:16:44.988Z ,我希望在從數據庫中獲取數據時,日期格式應該是2022-02-25 所以我像這樣向數據庫寫入查詢:

const { id } = req.params;
const participantList = await ParticipantModel.aggregate([
  { $match: { projectId: id } },
  { $limit: limitInt },
  { $skip: skipInt },
  {
    $project: {
      Date: { $dateToString: { format: '%Y-%m-%d', date: '$createdAt' } },
    },
  },
]);

我得到的結果如下: -

  { _id: 6218e52f43ec044180e69b84, Date: '2022-02-25' },
  { _id: 6218e5f543ec044180e69b97, Date: '2022-02-25' },

]

預期結果


[
  { _id: 6218e52f43ec044180e69b84,email:'xyz@gmail.com', name:'xyz',projectId:"01A", Date: '2022-02-25',updatedAt: 2022-02-25T14:18:23.708Z},
  { _id: 6218e5f543ec044180e69b97, email:'abc@gmail.com', name:'abc',projectId:"01B",Date: '2022-02-25' , updatedAt: 2022-02-25T14:21:41.313Z,},
]
  

如何解決這個問題? 謝謝您的幫助。

mongodb docs$project指南中,如果要顯示,請將每個字段的值設置為 1,或者將 0 設置為隱藏:

const { id } = req.params;
const participantList = await ParticipantModel.aggregate([
          {$match:{projectId:id},},{$limit:limitInt},{$skip:skipInt},{$project:{
            Date: { $dateToString: { format: "%Y-%m-%d", date: "$createdAt" } },
            email: 1, name: 1, projectId: 1, updatedAt: 1
          }}

暫無
暫無

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

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