Как задать условие для вложенных элементов в коллекции в MongoDB? - PullRequest
0 голосов
/ 26 июня 2019

Я использую узел mongodb + для рендеринга страниц

У меня есть коллекция mongodb с такими данными, как ниже,

Мне нужны данные, которые находятся под Mark и которыенаходится под датой 2019-06-21

Как сопоставить поле с полем, которое находится внутри массива?

Оба условия должны совпадать.Может ли кто-нибудь помочь мне Как дать условие для этой коллекции?

_id:5d0c9f38082276944579ba3e
user_Name:"Mark"
rows:[
{
   project_ID:"xxxx"
   issue_Summary:"aaaa"
   short_Description:"aaaa"
   start_Time:"02:02"
   end_Time:"03:02"
   total_Time:""
   _id:5d0ca14e138a7628948804af
   date:2019-06-21 05:30:00.0001
}
{
   project_ID:"yyyy"
   issue_Summary:"bbb"
   short_Description:"bbb"
   start_Time:"02:02"
   end_Time:"03:02"
   total_Time:""
  _id:5d0ca14e138a7628948804af
  date:2019-06-21 05:30:00.0001
}
]

 _id:5d0c9f38082276944579ba3e
user_Name:"Mark"
rows:[
{
   project_ID:"xxxx"
   issue_Summary:"aaaa"
   short_Description:"aaaa"
   start_Time:"02:02"
   end_Time:"03:02"
   total_Time:""
   _id:5d0ca14e138a7628948804af
   date:2019-06-22 05:30:00.0001
}
{
   project_ID:"yyyy"
   issue_Summary:"bbb"
   short_Description:"bbb"
   start_Time:"02:02"
   end_Time:"03:02"
   total_Time:""
  _id:5d0ca14e138a7628948804af
  date:2019-06-22 05:30:00.0001
}
]

_id:5d0c9f38082276944579ba3e
user_Name:"Dany"
rows:[
{
   project_ID:"xyz"
   issue_Summary:"aaaa"
   short_Description:"aaaa"
   start_Time:"02:02"
   end_Time:"03:02"
   total_Time:""
   _id:5d0ca14e138a7628948804af
   date:2019-06-21 05:30:00.0001
}
{
   project_ID:"yzx"
   issue_Summary:"bbb"
   short_Description:"bbb"
   start_Time:"02:02"
   end_Time:"03:02"
   total_Time:""
  _id:5d0ca14e138a7628948804af
  date:2019-06-21 05:30:00.0001
}
]

Сохраняет отдельную коллекцию для каждой конкретной даты

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Кроме того, вы можете создать комбинацию с помощью «и» для совпадения имени пользователя и даты.

db.collection.find({$and:[{user_Name:templateData.user.user_id} ,{rows:{$elemMatch: {date:data.payload.date}}}]})
0 голосов
/ 26 июня 2019

вы можете попробовать с помощью mongodb projection elemMatch docs.mongodb.com / руководство / справка / оператор / проекция / elemMatch

...