У меня есть структура коллекции, как показано ниже.
[
{
"userName": "name",
"userId": "1234",
"visitedaddr": [
{
"addr_id": "xyz",
"addr_name": "tdl",
"addr_time": "timestamp",
"days_spent": [
{
"days": "1",
"visited_clients": "3"
}
]
},
{
"addr_id": "xyx",
"addr_name": "tdl",
"addr_time": "timestamp",
"days_spent": [
{
"days": "1",
"visited_clients": "3"
}
]
},
{
"addr_id": "xy1",
"addr_name": "rjplm",
"addr_time": "timestamp",
"days_spent": [
{
"days": "1",
"visited_clients": "3"
}
]
}
]
}
]
- пользователь может посетить новый адрес и потратить несколько дней, чтобы посетить клиентов.
- пользователь может посетить тот же адрес ипотратил несколько дней, чтобы посетить другой набор клиентов.
- addr_id уникален, а addr_name - нет.
что я хочу знать -> мне нужно вставить новый документ на основеновый пользователь / старый пользователь.
- Если это старый пользователь, я должен иметь возможность добавлять новый объект в документ любое количество раз на основе userId
- , и я должен иметь возможностьпросмотр на основе addr_id для этого конкретного идентификатора пользователя
Если это поиск userId и addr_name Я получение всех данных для этого пользователя .
ниже - запрос, который я использовал для 3-й точки.
db.mycollec
.find(
{ userId: "1234", "visitedaddr.addr_name": "tdl" },
{
projection: {
_id: 0,
userName: 1,
userId: 1,
"visiteaddr.addr_name": 1,
"visiteaddr.addr_id": 1
}
}
)
.toArray();
ниже - ответ ..
{
"userId": 1234,
"userName": "name",
"visitedaddr": [
{
"addr_id": "xyz",
"addr_name": "tdl"
},
{
"addr_id": "xyx",
"addr_name": "tdl"
},
{
"addr_id": "xy1",
"addr_name": "rjplm"
}
]
}
IЯ получаю полные данные.Пожалуйста, помогите узнать обо всех трех ..
спасибо ..