Это коллекция под названием test
.MongoDB: как запросить документы с критериями `IS NOT (MAX())?
{
{"_id": 1, "groupName": "A", lastModified: ISODate("2012-09-17T23:25:56.314Z")},
{"_id": 2, "groupName": "A", lastModified: ISODate("2013-09-17T23:25:56.314Z")},
{"_id": 3, "groupName": "A", lastModified: ISODate("2016-01-10T23:25:56.314Z")},
{"_id": 4, "groupName": "B", lastModified: ISODate("2020-09-17T23:25:56.314Z")},
{"_id": 5, "groupName": "B", lastModified: ISODate("2000-01-17T23:25:56.314Z")}
}
Я хочу запросить некоторые документы в этой коллекции, с этими критериями:
- которого
groupName
являются "А". - которого
lastModified
является не наибольшим значением (ISODate("2016-01-10T23:25:56.314Z")
) изlastModified
полеев документов с"groupName": "A"
.
Таким образом, в этом случае, результат должен быть
{
{"_id": 1, "groupName": "A", lastModified: ISODate("2012-09-17T23:25:56.314Z")},
{"_id": 2, "groupName": "A", lastModified: ISODate("2013-09-17T23:25:56.314Z")}
}
Я использую Node.js с node-mongodb-native
модулем. Могу ли я сделать это, не загружая и не повторяя все документы? Я имею в виду, могу ли я сделать это в БД?
спасибо. Но кажется, что цель '.skip (1)' состоит в том, чтобы удалить самую страшную, поэтому должна быть форма _sort-before-skip_. Это не должно быть 'db.test.find ({groupName:" A "}). Sort ({lastModified: -1}). Skip (1)'? –
Добро пожаловать. При написании запроса Mongo это не имеет значения. Mongo всегда будет выполнять 'sort', затем' skip', а затем 'limit'. Таким образом, ответ всегда имеет смысл. Попробуйте. –
Спасибо! Это мне очень помогло! –