Не требуется javascript, и не требуется чрезмерно огромная максимальная высота. Вместо этого установите максимальную высоту в своих текстовых элементах и используйте относительную единицу шрифта, такую как rem или em. Таким образом, вы можете установить максимальную высоту, большую, чем ваш контейнер, избегая при этом задержки или «выскакивания», когда меню закрывается:
HTML
CSS
nav input + ul li { // notice I set max-height on li, not ul
max-height: 0;
}
nav input:checked + ul li {
max-height: 3rem; // a little bigger to allow for text-wrapping - but not outrageous
}
См. пример здесь: http://codepen.io/mindfullsilence/pen/DtzjE
Предполагая, var friend = { firstName: 'Harry', lastName: 'Potter' };
Есть два варианта:
Обновление модели в памяти и сохранение (простой javascript array.push):
person.friends.push(friend);
person.save(done);
или
PersonModel.update(
{ _id: person._id },
{ $push: { friends: friend } },
done
);
Я всегда стараюсь и выбираю первый вариант, когда это возможно, потому что он будет уважать больше преимуществ, которые дает вам мангуст (крючки, проверка и т. д.), ,
Однако, если вы делаете много одновременных записей, вы столкнетесь с условиями гонки, в результате чего вы столкнетесь с неприятными ошибками версий, чтобы остановить вас от замены всей модели каждый раз и потерять предыдущего добавленного вами друга , Так что только переходите к последнему, когда это абсолютно необходимо.
Оператор $ push добавляет указанное значение в массив.
blockquote>{ $push: { <field1>: <value1>, ... } }
$ push добавляет поле массива со значением как своим элементом.
blockquote>Выше ответ отвечает всем требованиям, но я получил его работу, выполнив следующие
var objFriends = { fname:"fname",lname:"lname",surname:"surname" }; Friend.findOneAndUpdate( { _id: req.body.id }, { $push: { friends: objFriends } }, function (error, success) { if (error) { console.log(error); } else { console.log(success); } }); )
Я столкнулся с этим вопросом. Мое исправление заключалось в создании дочерней схемы. См. Ниже пример для ваших моделей.
---- Персональная модель
const mongoose = require('mongoose');
const SingleFriend = require('./SingleFriend');
const Schema = mongoose.Schema;
const productSchema = new Schema({
friends : [SingleFriend.schema]
});
module.exports = mongoose.model('Person', personSchema);
*** Важно: SingleFriend.schema -> обязательно используйте строчные буквы для схемы
--- Схема ребенка
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const SingleFriendSchema = new Schema({
Name: String
});
module.exports = mongoose.model('SingleFriend', SingleFriendSchema);