我正在尝试做一个非常简单的操作,在 Mongo 数据库上使用 Mongoose 从数组中提取一个项目,如下所示:
User.update({ _id: fromUserId }, { $pull: { linkedUsers: [idToDelete] } });
Run Code Online (Sandbox Code Playgroud)
fromUserId&idToDelete都是对象 ID。
用户的架构是这样的:
var UserSchema = new Schema({
groups: [],
linkedUsers: [],
name: { type: String, required: true, index: { unique: true } }
});
Run Code Online (Sandbox Code Playgroud)
linkedUsers 是一个只接收其他用户 ID 的数组。
我也试过这个:
User.findOne({ _id: fromUserId }, function(err, user) {
user.linkedUsers.pull(idToDelete);
user.save();
});
Run Code Online (Sandbox Code Playgroud)
但没有运气。
当我在不同位置控制数组的长度时,第二个选项似乎几乎可以工作,但在调用save和检查后,长度仍为 36:
User.findOne({ _id: fromUserId }, function(err, user) {
console.log(user.linkedUsers.length); // returns 36
user.linkedUsers.pull(idToDelete);
console.log(user.linkedUsers.length); // returns 35 …Run Code Online (Sandbox Code Playgroud) 我是 javascript 和 jQuery 的新手,所以这个问题可能看起来很愚蠢,但我找不到任何例子或文档。
我得到了这个功能,用于一些颜色动画滚动和滚动,效果很好:
$(".box_nav").hover(function(){
jQuery(this).stop(true, false);
$(this).animate({ backgroundColor: "#fff"}, 300 ); },
function() {
jQuery(this).stop(true, false);
$(this).animate({ backgroundColor: "#000"}, 300 ); }
);
Run Code Online (Sandbox Code Playgroud)
事实上,如果我最近添加了一个也可以正常工作的样式表更改按钮:
$(".black-white").click(function(){
$("link").attr("href", "<?php bloginfo("template_url"); ?>/css/styles-black-white.css");
$(".wp-polls-loading").css({ display:"none"});
return false;
});
$(".grey-white").click(function(){
$("link").attr("href", "<?php bloginfo("template_url"); ?>/css/styles-grey-white.css");
$(".wp-polls-loading").css({ display:"none"});
return false;
});
Run Code Online (Sandbox Code Playgroud)
关键是我想在我的翻转菜单上创建一个条件,以便我也可以切换它的颜色。
所以我尝试了一些这样的事情:
/////////////////////////////////////////////////////////////////////////////
//Stylesheet change
$(".black-white").click(function(){
$("link").attr("href", "<?php bloginfo("template_url"); ?>/css/styles-black-white.css");
$(".wp-polls-loading").css({ display:"none"});
var tt = "black";
return false;
});
$(".grey-white").click(function(){
$("link").attr("href", "<?php bloginfo("template_url"); ?>/css/styles-grey-white.css");
$(".wp-polls-loading").css({ display:"none"});
var tt = "grey";
return false;
}); …Run Code Online (Sandbox Code Playgroud) 刚刚将VSCode更新到1.29.0macOS上10.12.6,看起来这个选项将终端移动到VSCode的底部(然后再向右移动)就不复存在了.这是故意的吗?它是否移至特定设置?我正在使用这个功能.
这是一个截图:
编辑:仍然可以按上下文菜单移动:
我有一个看起来像这样的 mongo 集合:
{
name: string
_id: (auto set)
items: array[
name: string
url: string
items: array[
{
name: string,
url: string,
items: []
}
]
]
}
Run Code Online (Sandbox Code Playgroud)
我正在使用findByIdAndUpdate(使用 mongoose)将一个项目添加到 items 数组中:
Menu.findByIdAndUpdate(
req.body.parentid,
{
$push: {
items: {
name: req.body.item.name,
url: req.body.item.url,
items: []
}
}
},
{
safe: true,
upsert: true,
new: true
},
function(err, model) {
if (err !== null) {
console.log(err);
}
}
);
Run Code Online (Sandbox Code Playgroud)
这工作正常,但它不会_id向插入items数组的每个对象添加。我真的需要为每个人提供一个 id。
我猜它来自使用的方法,findByIdAndUpdate因为它看起来更像是更新而不是插入。如果我的想法是正确的。
使用 …