Я использую Studio3T для запуска MongoDB, но я новичок. У меня есть поле publishing.notes, которое я использую для исключения элементов из отчета. Обычно это поле не используется, поэтому в большинстве документов НЕ заполнено это поле, и мы использовали этот код ниже для отчета. (публикация.notes - последняя строка)
{
$and: [
{
"warehouses.code": "RSDMAIN"
}
,
{
"warehouses.0.quantity": {
$gt: NumberInt(0)
}
}
,
{
"images.0.image": {
$exists: false
}
}
,
{
"featured_image.slug": {
$exists: false
}
}
,
{
"publication.status": {
$ne: "discontinued"
}
}
,
{
"publication.status": {
$ne: "rejected"
}
}
,
{
"product_type": {
"$in":[
"standard" ,
null
]
}
}
,
{
"publication_notes": {
$exists: false
}
}
]
}
Проблема в том, что у нас был небольшой процент документов, которые заполняются примечаниями к публикации, но он остается нулевым. Я хотел бы, чтобы в моем отчете содержались как нулевые, так и несуществующие документы, но при этом исключались бы документы с реальным текстом. Все, что я пробую, делает меня либо нулевым, либо DNE.
Я попытался поиграться с "publishing.notes": {$ not: {$ type: 2}}, но они возвращают тот же отчет, что и "publishing_notes": {$ exist: false}, что заставляет меня думать, что это видит все, что находится в поле, в виде строки, даже если оно пустое.