我在MongoDB上进行开发.对于完全非邪恶的目的,我有时想要吹掉数据库中的所有东西 - 也就是说,删除每一个集合,以及其他任何可能存在的东西,并从头开始.是否有一行代码可以让我这样做?同时给出MongoDB控制台方法和MongoDB Ruby驱动程序方法的加分点.
假设我定义了一个元素
$foo = $('#foo');
Run Code Online (Sandbox Code Playgroud)
然后我打电话
$foo.remove()
Run Code Online (Sandbox Code Playgroud)
从某些事件.我的问题是,如何检查$ foo是否已从DOM中删除?我发现它$foo.is(':hidden')有效,但如果我只是打电话,那当然也会成功$foo.hide().
我正在尝试从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/
我在俯瞰什么?
我正在尝试使用HTML5可拖动的API(虽然我意识到它有它的问题).到目前为止,我遇到的唯一一个显示是我无法找到一种方法来确定当一个dragover或dragenter事件触发时被拖动的内容:
el.addEventListener('dragenter', function(e) {
// what is the draggable element?
});
Run Code Online (Sandbox Code Playgroud)
我意识到我可以认为它是发射dragstart事件的最后一个元素,但是......多点触控.我也试着使用e.dataTransfer.setData从dragstart附加一个唯一的标识符,但显然这些数据是不可访问从dragover/ dragenter:
只有在丢弃事件期间发生丢弃时,才能使用此数据.
那么,有什么想法吗?
更新:在撰写本文时,HTML5拖放似乎没有在任何主流移动浏览器中实现,因此在实践中提出了关于多点触控的观点.但是,我想要一个可以保证在规范的任何实现中都能使用的解决方案,这似乎不会阻止同时拖动多个元素.
我在下面发布了一个有效的解决方案,但这是一个丑陋的黑客攻击.我仍然希望有更好的答案.
关于$ in条件运算符的MongoDB文档没有说明任何关于顺序的内容.如果我运行表单的查询
db.things.find({'_id': {'$in': id_array}});
Run Code Online (Sandbox Code Playgroud)
返回结果的顺序是什么?有没有办法告诉MongoDB"我希望结果排序,以便它们与ids的顺序相同id_array?"
我在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.为什么是这样?我该怎么做才能改变它?
假设我有一个任意的字符串
`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查询.所以,如果我有另一种方式,请告诉我.
在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.该怎么办?东西简洁,拜托了!
我有以下架构(道歉,它是在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中总是返回一个值.到底是怎么回事?
在许多情况下,JavaScript的类型强制相等运算符不可传递.例如,请参阅" JavaScript等同传递性很奇怪".
但是,是否有任何情况下,在==没有对称?也就是说,这里a == b是true和b == a是false?
javascript symmetric equivalence ecma262 comparison-operators