小编Tre*_*ham的帖子

删除MongoDB数据库中的所有内容

我在MongoDB上进行开发.对于完全非邪恶的目的,我有时想要吹掉数据库中的所有东西 - 也就是说,删除每一个集合,以及其他任何可能存在的东西,并从头开始.是否有一行代码可以让我这样做?同时给出MongoDB控制台方法和MongoDB Ruby驱动程序方法的加分点.

mongodb

434
推荐指数
11
解决办法
25万
查看次数

如何检查jQuery元素是否在DOM中?

假设我定义了一个元素

$foo = $('#foo');
Run Code Online (Sandbox Code Playgroud)

然后我打电话

$foo.remove()
Run Code Online (Sandbox Code Playgroud)

从某些事件.我的问题是,如何检查$ foo是否已从DOM中删除?我发现它$foo.is(':hidden')有效,但如果我只是打电话,那当然也会成功$foo.hide().

jquery

143
推荐指数
5
解决办法
5万
查看次数

动态创建具有给定HTML的iframe

我正在尝试从JavaScript创建一个iframe并用任意HTML填充它,如下所示:

var html = '<body>Foo</body>';
var iframe = document.createElement('iframe');
iframe.src = 'data:text/html;charset=utf-8,' + encodeURI(html);
Run Code Online (Sandbox Code Playgroud)

我希望iframe然后包含一个有效的窗口和文档.但是,情况并非如此:

> console.log(iframe.contentWindow);
空值

亲自试试:http://jsfiddle.net/TrevorBurnham/9k9Pe/

我在俯瞰什么?

javascript iframe

135
推荐指数
6
解决办法
20万
查看次数

确定从dragenter和dragover事件中拖动的内容

我正在尝试使用HTML5可拖动的API(虽然我意识到它有它的问题).到目前为止,我遇到的唯一一个显示是我无法找到一种方法来确定当一个dragoverdragenter事件触发时被拖动的内容:

el.addEventListener('dragenter', function(e) {
  // what is the draggable element?
});
Run Code Online (Sandbox Code Playgroud)

我意识到我可以认为它是发射dragstart事件的最后一个元素,但是......多点触控.我也试着使用e.dataTransfer.setDatadragstart附加一个唯一的标识符,但显然这些数据是不可访问dragover/ dragenter:

只有在丢弃事件期间发生丢弃时,才能使用此数据.

那么,有什么想法吗?

更新:在撰写本文时,HTML5拖放似乎没有在任何主流移动浏览器中实现,因此在实践中提出了关于多点触控的观点.但是,我想要一个可以保证在规范的任何实现中都能使用的解决方案,这似乎不会阻止同时拖动多个元素.

我在下面发布了一个有效的解决方案,但这是一个丑陋的黑客攻击.我仍然希望有更好的答案.

javascript html5 draggable

64
推荐指数
5
解决办法
3万
查看次数

查询中对MongoDB $的响应顺序?

关于$ in条件运算符的MongoDB文档没有说明任何关于顺序的内容.如果我运行表单的查询

db.things.find({'_id': {'$in': id_array}});
Run Code Online (Sandbox Code Playgroud)

返回结果的顺序是什么?有没有办法告诉MongoDB"我希望结果排序,以便它们与ids的顺序相同id_array?"

mongodb

48
推荐指数
4
解决办法
1万
查看次数

无法删除远程原点

我在OS X上运行git 1.8.0,并且每个新的git repo似乎都有一个名为"origin"的远程:

$ git init
$ git remote
origin
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我无法删除它:

$ git remote remove origin
error: Could not remove config section 'remote.origin'
Run Code Online (Sandbox Code Playgroud)

因此我无法添加一个新的遥控器origin.为什么是这样?我该怎么做才能改变它?

git

47
推荐指数
1
解决办法
3万
查看次数

从Ruby中的字符串创建不区分大小写的正则表达式

假设我有一个任意的字符串

`A man + a plan * a canal : Panama!`
Run Code Online (Sandbox Code Playgroud)

我想做一个正则表达式搜索除了case之外的其他字符串.也就是说,这个正则表达式应该与字符串匹配

`a man + A PLAN * a canal : PaNaMa!`
Run Code Online (Sandbox Code Playgroud)

我认为最好的方法是反斜杠 - 在Ruby正则表达式中具有特殊含义的每个字符,然后Regexp.new使用该字符串和Regexp::IGNORECASE参数.是对的吗?是否有一个经过验证的正则表达式,用于将任意字符串转换为文字正则表达式?

顺便说一句,我最终想要使用这个正则表达式来执行任意不区分大小写的MongoDB查询.所以,如果我有另一种方式,请告诉我.

ruby regex

46
推荐指数
4
解决办法
3万
查看次数

Python getattr等价于字典?

在Python中,最简洁的说法是" dict['foo']如果它存在就给我,如果不存在,给我这个其他价值bar"?如果我使用的是对象而不是字典,我会使用getattr:

getattr(obj, 'foo', bar)
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试使用字典(这是我发现不幸来自JavaScript/CoffeeScript的区别),这会引发一个关键错误.同样,在JavaScript/CoffeeScript中,我只是写

dict['foo'] || bar
Run Code Online (Sandbox Code Playgroud)

但是,这又产生了一个KeyError.该怎么办?东西简洁,拜托了!

python

42
推荐指数
2
解决办法
2万
查看次数

如何使用mongoose findOne

我有以下架构(道歉,它是在coffeescript)

Schema = mongoose.Schema

AuthS = new Schema
    auth:   {type: String, unique: true}
    nick:   String
    time:   Date
Auth = mongoose.model 'Auth', AuthS
Run Code Online (Sandbox Code Playgroud)

我只想恢复一条肯定在我的数据库中的记录:

Auth.findOne({nick: 'noname'}, function(obj) { console.log(obj); });
Run Code Online (Sandbox Code Playgroud)

很不幸,这始终记录null.db.auths.findOne({nick: 'noname'})在mongo shell中总是返回一个值.到底是怎么回事?

mongoose mongodb node.js coffeescript

38
推荐指数
3
解决办法
10万
查看次数

JavaScript的双等于(==)总是对称的吗?

在许多情况下,JavaScript的类型强制相等运算符不可传递.例如,请参阅" JavaScript等同传递性很奇怪".

但是,是否有任何情况下,在==没有对称?也就是说,这里a == btrueb == afalse

javascript symmetric equivalence ecma262 comparison-operators

36
推荐指数
3
解决办法
3660
查看次数