song.replace(/(WUB)+/g," ").trim()
data = [
{x: "100", y: "40", z: "first"}, {x: "120", y: "10", z: "second"},
{x: "0", y: "100", z: "second"}, {x: "300", y: "150", z: "third"}
]
filter = {x: {max: "100", min: "20"}, y: {max: "100", min: "20"}, z: ["first", "second"]}
isBetween = (num, bounds) => +num >= +bounds.min && +num <= +bounds.max
data.filter(obj => isBetween(obj.x, filter.x) && isBetween(obj.y, filter.y) && filter.z.includes(obj.z))
// 0: {x: "100", y: "40", z: "first"}
Post.aggregate([
{
$lookup: {
from: 'definitions',
localField: 'definition',
foreignField: '_id',
as: 'definitions'
}
},
{
$match: {
'definitions.likes': { $gte: 10 }
}
}
])
async function getData() {
const urls = {
comments: 'https://jsonplaceholder.typicode.com/comments',
users: 'https://jsonplaceholder.typicode.com/users',
posts: 'https://jsonplaceholder.typicode.com/posts'
}
const data = {}
for (const [key, value] of Object.entries(urls)) {
const res = await fetch(value)
data[key] = await res.json()
}
return data
}
console.log(await getData())
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
window.addEventListener('scroll', onScroll)
function onScroll(e) {
if (pageYOffset > 1000) {
console.log('BOOOOOM')
/* do stuff */
window.removeEventListener('scroll', onScroll)
}
}
useEffect(() => {
setData(props.items.map((elem) => { // setData
return elem.weight
}))
} , [data, props.items] }) // data?
если ввожу правильные данные сначало идет долгая загрузка. и вылетает ошибка "Страница недоступна Сайт localhost не отправил данных.
app.post('/login', (req, res) => {
User.findOne({
where: {
email: req.body.email
}
})
.then(user => {
if (!user) {
return res.status(404).send({ message: "Введены неправильные данные!" });
}
const passwordIsValid = bcrypt.compareSync(req.body.password, user.password)
if (!passwordIsValid) {
return res.status(401).send({
message: "Введены неправильные данные!"
});
}
req.session.userId = user.id // ОК
// и что дальше?
})
})
Стала задача при клике на кнопку подробнее карточка товара открывалась в новом окне браузера.
<a href="/item/item_name" target="_blank">Go to item</a>
<Route path='/item/:item_name' exact render={props => <ItemPage {...props} />} />
cart: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Item'
// массив айдишников айтемов из коллекции items
}]
User.findOne({ _id: '......user id ......' }).populate('cart')
Deal.aggregate([
{
'$sort': {
'_id': -1 // тупо по айди, если есть поле в духе created_at, то использовать его
}
}, {
'$limit': 50
}, {
'$group': {
'_id': '$city', // сюда поле
'data': {
'$push': '$$ROOT' // это чтобы добавился массив с записями в результат
}
}
}
])
useEffect(() => {
setInterval(() => {
console.log(count); // всегда будет 0
setCount(prev => prev + 1); // prev будет актуальным
}, 100);
}, []);