Добавлен ваш код
background-size: 250% 250%;
Пример
.slideToUnlock {
background: linear-gradient(-90deg, black 0%, gray 40%, white 45%, gray 55%, black 60%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
color: transparent;
-webkit-animation: slidetounlock 5s infinite;
animation: slidetounlock 5s infinite;
-webkit-animation-direction: normal;
animation-direction: normal;
background-size: 250% 250%;
}
Если я понимаю ваш вопрос, вам нужно отсортировать его в порядке возрастания.
Предполагая, что у вас есть поле id или date, называемое «x», вы бы сделали ...
db.foo.find().sort({x:1});
1 будет сортировать по возрастанию (от старости до новейшего) и -1 будет сортировать нисходящий (самый новый до самого старого.)
Если вы используете авто созданное поле _id имеет встроенную в него дату ... поэтому вы можете использовать это для заказа ...
db.foo.find().sort({_id:1});
Это вернет все ваши документы, отсортированные от самых старых до новейших.
Вы также можете использовать Природный порядок , упомянутый выше ...
db.foo.find().sort({$natural:1});
Опять же, используя 1 или -1 в зависимости от того, какой вы хотите.
Наконец, рекомендуется применять ограничение при выполнении такого широко открытого запроса, чтобы вы может делать либо ...
db.foo.find().sort({_id:1}).limit(50);
, либо
db.foo.find().sort({$natural:1}).limit(50);
Последняя функция должна быть sort
, а не limit
.
Пример:
db.testcollection.find().limit(3).sort({timestamp:-1});
С этим запросом можно увидеть последние N добавленных записей: от менее недавних до самых последних:
db.collection.find().skip(db.collection.count() - N)
Если вы хотите их в обратном порядке:
db.collection.find().sort({ $natural: -1 }).limit(N)
Если вы установите Mongo-Hacker , вы также можете использовать:
db.collection.find().reverse().limit(N)
Если вы устали писать эти команды все время, вы можете создавать пользовательские функции в ~ / .mongorc.js. Например,
function last(N) {
return db.collection.find().skip(db.collection.count() - N);
}
, затем из оболочки mongo просто введите last(N)
db.collection.find().reverse().limit(1)
дает мне ошибку ... has no method reverse
– Catfish
9 May 2014 в 19:48
@ bin-chen,
Вы можете использовать агрегацию для последних n записей подмножества документов в коллекции. Ниже приведен упрощенный пример без группировки (который вы делали бы между этапами 4 и 5 в этом случае).
Это возвращает последние 20 записей (на основе поля под названием «timestamp»), отсортированного по возрастанию. Затем он проектирует каждый документ _id, timestamp и whatever_field_you_want_to_show в результаты.
var pipeline = [
{
"$match": { //stage 1: filter out a subset
"first_field": "needs to have this value",
"second_field": "needs to be this"
}
},
{
"$sort": { //stage 2: sort the remainder last-first
"timestamp": -1
}
},
{
"$limit": 20 //stage 3: keep only 20 of the descending order subset
},
{
"$sort": {
"rt": 1 //stage 4: sort back to ascending order
}
},
{
"$project": { //stage 5: add any fields you want to show in your results
"_id": 1,
"timestamp" : 1,
"whatever_field_you_want_to_show": 1
}
}
]
yourcollection.aggregate(pipeline, function resultCallBack(err, result) {
// account for (err)
// do something with (result)
}
, поэтому результат будет выглядеть примерно так:
{
"_id" : ObjectId("5ac5b878a1deg18asdafb060"),
"timestamp" : "2018-04-05T05:47:37.045Z",
"whatever_field_you_want_to_show" : -3.46000003814697
}
{
"_id" : ObjectId("5ac5b878a1de1adsweafb05f"),
"timestamp" : "2018-04-05T05:47:38.187Z",
"whatever_field_you_want_to_show" : -4.13000011444092
}
Надеюсь, что это поможет.
Возможно, вы захотите использовать опции find
: http://docs.meteor.com/api/collections.html#Mongo-Collection-find
db.collection.find({}, {sort: {createdAt: -1}, skip:2, limit: 18}).fetch();
Вы не можете «пропустить» в зависимости от размера коллекции, потому что она не будет учитывать условия запроса.
Правильное решение состоит в сортировке с нужной конечной точки, ограничение размер набора результатов, затем при необходимости отрегулируйте порядок результатов.
Вот пример, основанный на реальном коде.
var query = collection.find( { conditions } ).sort({$natural : -1}).limit(N);
query.exec(function(err, results) {
if (err) {
}
else if (results.length == 0) {
}
else {
results.reverse(); // put the results into the desired order
results.forEach(function(result) {
// do something with each result
});
}
});
var query = collection.find( { conditions } ).sort({$natural : -1}).reverse().limit(N)
.
– inwpitrust
24 January 2015 в 21:52
вы можете использовать sort()
, limit()
, skip()
, чтобы получить последний запуск N записей из любого пропущенного значения
db.collections.find().sort(key:value).limit(int value).skip(some int value);
Чтобы получить последние N записей, вы можете выполнить следующий запрос:
db.yourcollectionname.find({$query: {}, $orderby: {$natural : -1}}).limit(yournumber)
, если вы хотите только одну последнюю запись:
db.yourcollectionname.findOne({$query: {}, $orderby: {$natural : -1}})
Примечание: вместо $ Естественно, вы можете использовать один из столбцов из вашей коллекции.
Посмотрите на запрос: Сортировка и естественный порядок, http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order , а также sort () в методах курсора http://www.mongodb.org/display/DOCS/Advanced+Queries
item = 3; item.add(3).divide(3) == 2; item.divide(3).add(3) == 4;
Без заказа какой будет результат ??? Я согласен с вами в том, что этот обратный порядок не является интуитивным. Это не SQL, поскольку он должен следовать нормальным парадигмам OO. – RickyA 17 February 2013 в 16:25