在Meteor中将文档插入MongoDB集合时,不确定如何使用$ currentDate.
这只能用于更新,而不是插入吗?看起来很奇怪,但我没有看到替代品(除了使用new Date替代品).
例
Stuff.insert({
owner: Meteor.userId(),
createdAt: ..., // how to create this field with $currentDate ?
theStuff: "Some of the good stuff"
})
Run Code Online (Sandbox Code Playgroud)
Notes/Thoughts/TL,DR
{}.$currentDate比new Date?现在,在本地运行,OSX中Meteor CLI的每个操作都会抛出此异常:
/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers /future.js:245 throw(ex);
错误:SQLITE_CORRUPT:数据库磁盘映像格式错误
我很难过.
我查看了fiber/future.js代码,但它超出了我的范围.我看到的SQLite 是用来在catalog-remote.js,所以是有办法使用SQLite的CLI工具来重置?或者,我应该删除并重新安装SQlite3(如果是,如何)?
这是我在尝试任何Meteor命令时在终端中获得的完整日志:
/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:245
throw(ex);
^
Error: SQLITE_CORRUPT: database disk image is malformed
at Object.Future.wait (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:395:18)
at runOnce (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:237:21)
at [object Object]._.extend._serialize (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:176:14)
at [object Object]._.extend.runInTransaction (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:242:21)
at [object Object]._.extend._columnsQuery (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:888:24)
at [object Object]._.extend._contentQuery (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:878:21)
at [object Object]._.extend.getReleaseVersion (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:663:23)
at Object.release.load (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/release.js:233:41)
at /Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/main.js:893:23
- - - - -
at Object.Future.wait (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:398:14)
at [object Object]._.extend._query (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:312:22)
at [object Object]._.extend.query (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:76:20)
at /Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:889:18
at runOnce (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:211:18)
at [object Object]._.extend._serialize (/Users/mallorym/.meteor/packages/meteor-tool/.1.1.3.1d614zp++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/catalog-remote.js:176:14)
at [object …Run Code Online (Sandbox Code Playgroud) 新手问题:
如何在数字矢量中包含最大值的第一个实例并将其包括在内?
所以,从此[1 2 3 4 5 4 3 2 1],得到[1 2 3 4 5] [4 3 2 1].
我这样做的方式似乎过于复杂:
(def up5 [1 2 3 4 5 4 3 2 1])
(split-at (inc (.indexOf up5 (apply max up5))) up5) ; => [1 2 3 4 5] [4 3 2 1]
Run Code Online (Sandbox Code Playgroud)
这看起来有点尴尬吗?例如,使用定义的向量三次.我们是否需要使用Java来获取索引?
什么是更好,更惯用或更高效的方式?
谢谢.
可能是一个非常基本的问题,但我还没有在文档或谷歌中找到答案......
我正在做nodeschool的“learnyounode”模块,对于http客户端问题的介绍,找到了一个console.log不带参数使用的官方答案(实际上作为另一个函数中的args,但我理解):
var http = require('http')
http.get(process.argv[2], function (response) {
response.setEncoding('utf8')
response.on('data', console.log)
response.on('error', console.error)
})
Run Code Online (Sandbox Code Playgroud)
这是如何运作的?它看起来干净、明显,但如果没有更好地理解发生了什么,我不确定我是否可以自信地使用这种风格。
顺便说一句,为了进行比较(并看看我不明白什么),这是我自己的非常相似但更长的答案:
var http = require('http');
http.get(process.argv[2], function callback(response) {
response.setEncoding('utf8');
response.on('data', function(data) {
console.log(data);
});
response.on('error', function(error) {
console.error(error);
});
});
Run Code Online (Sandbox Code Playgroud) 在.insertAdjacentHTML和.innerHTML方法之间进行选择时需要考虑哪些差异?每个用例都有哪些引人注目的用例?哪个性能更好,在什么情况下?如何.innerHTML工作?还有其他选择吗?