【发布时间】:2017-09-01 16:12:33
【问题描述】:
我想进行一个带入所有文档的查询,但是如果存在某些特定字段,则从文档中删除字段并从文档中带入所有其余字段。
例如,如果我在 mongodb 中有 3 个文档,我想获取所有文档 where aptype = "periodic",如果文档中存在 cancel_date 字段,则只获取没有 cancel_date 字段的文档
{
"_id":"8de3e5ec-caa9-4497-89a9-239713e2a2ed",
"user_id":"6b54be23-0880-4e22-8882-93feea935f12",
"weekend_price":60000,
"weekend_wage":40000,
"active":1,
"dows":[
"2",
"1",
"6"
],
"product_type_id":"adsfkasjd12312",
"working_time":320,
"datetime": ISODate("2017-09-11T10:10:00Z"),
"price":60000,
"office_id":"testoffice",
"wage":40000,
"manager_id":"653d047a-e9e3-4161-b2b6-7308f9ad38e5",
"product_id":"543bee5b-43a0-4c98-976f-a371cafb33e4",
"aptype":"periodic",
"cancel_date":[
ISODate("2017-09-13T00:00:00Z")
]
}
{
"_id":"5df00497-e95a-4124-abb0-2ade426c741f",
"product_type_id":"adsfkasjd12312",
"working_time":320,
"datetime": ISODate("2017-09-03T10:10:00Z"),
"wage":100000,
"aptype":"periodic",
"dows":[
"1",
"4",
"6"
],
"price":111111,
"active":1,
"weekend_price":70000,
"weekend_wage":50000,
"user_id":"c1676bd5-d9b3-452d-8c93-f710176bb33c",
"office_id":"testoffice",
"product_id":"140ceaad-1832-444c-95f6-c8053b242bcb",
"manager_id":""
}
{
"_id":"e5d5a046-caf7-4372-a101-f5260ec0af0a",
"product_type_id":"adsfkasjd12312",
"working_time":320,
"datetime": ISODate("2017-09-02T10:10:00Z"),
"wage":40000,
"aptype":"one_time",
"price":60000,
"active":1,
"weekend_price":60000,
"weekend_wage":40000,
"user_id":"c1676bd5-d9b3-452d-8c93-f710176bb33c",
"office_id":"testoffice",
"product_id":"543bee5b-43a0-4c98-976f-a371cafb33e4",
"manager_id":""
}
所以我想要的结果是(取消日期字段已删除where _id='8de3e5ec-caa9-4497-89a9-239713e2a2ed')
{
"_id":"8de3e5ec-caa9-4497-89a9-239713e2a2ed",
"user_id":"6b54be23-0880-4e22-8882-93feea935f12",
"weekend_price":60000,
"weekend_wage":40000,
"active":1,
"dows":[
"2",
"1",
"6"
],
"product_type_id":"adsfkasjd12312",
"working_time":320,
"datetime": ISODate("2017-09-11T10:10:00Z"),
"price":60000,
"office_id":"testoffice",
"wage":40000,
"manager_id":"653d047a-e9e3-4161-b2b6-7308f9ad38e5",
"product_id":"543bee5b-43a0-4c98-976f-a371cafb33e4",
"aptype":"periodic"
}
{
"_id":"5df00497-e95a-4124-abb0-2ade426c741f",
"product_type_id":"adsfkasjd12312",
"working_time":320,
"datetime": ISODate("2017-09-03T10:10:00Z"),
"wage":100000,
"aptype":"periodic",
"dows":[
"1",
"4",
"6"
],
"price":111111,
"active":1,
"weekend_price":70000,
"weekend_wage":50000,
"user_id":"c1676bd5-d9b3-452d-8c93-f710176bb33c",
"office_id":"testoffice",
"product_id":"140ceaad-1832-444c-95f6-c8053b242bcb",
"manager_id":""
}
【问题讨论】:
标签: mongodb