User.updateOne(
{ uid: userid, /* 'pets._id': data.pet._id */ }, // вероятно это не обязательно
{ $pull: { pets: { _id: data.pet._id } }
);
const ObjectId = require('mongoose').Types.ObjectId
User.updateOne(
{ uid: userid, 'pets._id': ObjectId(data.pet._id) },
{ $pull: { pets: { _id: ObjectId(data.pet._id) } }
);
server.listen(config.PORT, () => {
mongoose.set('useFindAndModify', false);
mongoose.connect(config.MONGODB_URI, ..... // !!
const Customer = require('../models/Customer');
// это объект модели mongoose, подключаться к БД уже не надо
// Get Single Customer
server.get('/customers/:id', async (req, res, next) => {
try {
const customer = await Customer.findById(req.params.id);
// запрос в монго, используется коннект из index.js
db.collection.createIndex( {login: 1}, {unique: true} )
const Chart = React.memo(({ items = [] }) => {
const svgRef = useRef()
useEffect(() => {
const data = items.map((elem) => {
return elem.weight
}) // дата ведь нужна только в контексте этого эффекта, и больше нигде?
const svg = select(svgRef.current)
const xScale = scaleLinear()
.domain([0, data.length - 1])
.range([0, 1240])
const yScale = scaleLinear()
.domain([min(data), max(data)])
.range([280, 0])
const myLine = line()
.x((value, index) => xScale(index))
.y(value => yScale(value))
.curve(curveCardinal)
svg
.selectAll('path')
.data([data])
.join('path')
.attr('d', value => myLine(value))
.attr('fill', 'none')
.attr('stroke', 'lavender')
.attr('stroke-width', '3px')
.attr('width', '100%')
}, [items])
return (
<div className={s.elem}>
<svg viewBox={'0 -9 1240 300'}
ref={svgRef}></svg>
</div>
)
})
const model = await Model.findOne({id: 8946})
const idx = model.e.findIndex(elem => elem.type === 'model' && elem.value === 1)
if (idx !== -1) {
model.e[idx] = { ...model.e[idx], other: newOtherData }
model.markModified('e')
await model.save()
}
(вероятно в объекте req экспресса есть внутреннее свойство data, можно попробовать переименовать во что-нибудь более рандомное)
всё равно, наверно лучше вообще в другом файле, и подключать в нужные роуты эту функцию