How can i find random records in mongodb?
Run Code Online (Sandbox Code Playgroud)
我在stackoverflow上找到了多篇文章,但我无法理解它们.例如:
db.yourCollection.find().limit(-1).skip(yourRandomNumber).next()
Run Code Online (Sandbox Code Playgroud)
我将如何在我的代码中执行它?(收藏是用户)
User.findOne(RANDOM PLAYER).then(result) {
console.log(result);
}
Run Code Online (Sandbox Code Playgroud) 我正在整合Angular Bootstrap中的模态,并尝试将代码示例从此处调整到我的应用程序.我收到错误:Error: [$injector:unpr] Unknown provider: $modalInstanceProvider <- $modalInstance
要使$ modalInstance工作,我需要做什么?我从代码示例中看到他们已经编写了它,因此它在函数的范围内,但我不确定如何在链接控制器时编写内容.
angular.module('myApp', ['ui.bootstrap']).
controller('ModalInstanceCtrl', function($scope, $modalInstance) {
}).
factory('AuthService', ['$http', '$rootScope', '$modal',
function($http, $rootScope, $modal) {
return {
loginModal: function(callback) {
var modalInstance = $modal.open({
templateUrl: '/partials/main/signin',
controller: 'ModalInstanceCtrl'
});
modalInstance.result.then(function(selectedItem) {
$scope.selected = selectedItem;
}, function() {});
}
};
}
]);
Run Code Online (Sandbox Code Playgroud) 我有一个拒绝承诺的课程:
Sync.prototype.doCall = function(verb, method, data) {
var self = this;
self.client = P.promisifyAll(new Client());
var res = this.queue.then(function() {
return self.client.callAsync(verb, method, data)
.then(function(res) {
return;
})
.catch(function(err) {
// This is what gets called in my test
return P.reject('Boo');
});
});
this.queue = res.delay(this.options.throttle * 1000);
return res;
};
Sync.prototype.sendNote = function(data) {
var self = this;
return self.doCall('POST', '/Invoice', {
Invoice: data
}).then(function(res) {
return data;
});
};
Run Code Online (Sandbox Code Playgroud)
在我的测试中:
return expect(s.sendNote(data)).to.eventually.be.rejectedWith('Boo');
Run Code Online (Sandbox Code Playgroud)
但是,当测试通过时,它会将错误抛出到控制台.
未处理的拒绝错误:嘘......
对于非promise错误,我使用bind来测试以防止在Chai可以包装和测试之前抛出错误:
return expect(s.sendNote.bind(s, data)).to.eventually.be.rejectedWith('Boo'); …Run Code Online (Sandbox Code Playgroud) 我正在阅读Douglas Crockford的书 - Javascript的好部分 - 他说:
JavaScript有一个数字类型.在内部,它表示为64位浮点,与Java的double相同.与大多数其他编程语言不同,没有单独的整数类型,因此1和1.0是相同的值.这是一个很大的便利,因为完全避免了短整数溢出的问题......
我不太熟悉其他语言,所以想要一点解释.我能理解为什么64位有帮助,但他的陈述似乎适用于缺少浮点数和双打.
什么是(伪代码)可能是JS中不会出现的短整数溢出情况的例子?
我想听听有关优化我们的架构以实现以下内容的最佳方法的一些想法.
我们有许多对象/数据库条目(事件,场地等),其中一些有子对象(意味着相同的权限适用 - 图像,元素等)
用户可以属于组,因此诸如事件,场所之类的父对象可以由所有人,仅组,仅一个用户编辑/可查看.
目前,我们有一个用户,用户组和组表来管理用户和组.
每个父对象(如场所)作为user_id和group_id的列.
工作正常(在symfony 1.4中),但它很乱 - 任何事情的查询都必须进行复杂的连接以获得可能的组等...我们想找到一种更简单的方法.
我对Sf2 ACL组件感到非常兴奋但是我被一遍又一遍地告诉我不应该用它来查找用户可以管理的对象 - 而是我应该使用ACL来查明是否允许用户管理他自己的对象对象(似乎不是很有用,但无论如何).
我发现在网上进行的所有替代尝试都是为了从db中提取所有对象,然后通过ACL过滤 - 这对于妈妈和流行网站来说很可爱 - 不会发生在一百万个对象上.
所以...我很想听听关于我们如何做到这一点的想法 - 我们也愿意让symfony留下具有可扩展ACL解决方案的东西,但到目前为止还没有找到任何东西(php或ruby)如此开放虽然我们很乐意继续使用Sf.请注意,我们打算在重要的情况下使用MongoDB.
我有这个控制器:
Ext.define('MyApp.controller.Test', {
extend: 'Ext.app.Controller',
config: {
},
refs: [
{
ref: 'first',
selector: '#first'
},
{
ref: 'second',
selector: '#second'
}
],
views : [
'TestMain',
'TestSecond'
],
init: function() {
this.getTestMainView().create();
this.control({
'#first': {
tap: function() {
//how do I go to second view here?
}
},
'#second': {
tap: function() {
}
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
这两个观点:
Ext.define('MyApp.view.TestMain', {
extend: 'Ext.Container',
xtype: 'testmain',
config: {
fullscreen: true,
layout: 'vbox',
scrollable: true,
items: [
{
xtype: 'button',
ui: …Run Code Online (Sandbox Code Playgroud) 在 Node 18 发布fetch/FormData之前,我们可以这样做:
import FormData from 'form-data'
const form = new FormData();
form.append('my_field', 'my value');
form.append('my_buffer', new Buffer(10));
form.append('my_file', fs.createReadStream('/foo/bar.jpg'));
Run Code Online (Sandbox Code Playgroud)
但是,使用全局 FormData 我无法再传递流 - “my_file”行的错误是:
“ReadStream”类型的参数不可分配给“string |”类型的参数 斑点'
我知道这仍然是实验性的,因此可能是一个错误,或者是否有其他方法可以做到这一点 - 除了将整个文件作为字符串读取之外......
我已经看到ACL的例子来处理一个实体,但没有处理提取多个项目的例子 - 例如属于作者的帖子列表.一个(坏)建议是获取所有项目,然后使用acl过滤 - 当我们有一百万个项目时不会工作.获取多个项目的预期方式是什么 - 假设我想获取我的所有帖子(使用我需要的任何条件,例如发布或订购),批量为50的寻呼机(后期过滤不起作用的另一个原因 - 我最终会有不同的页面大小.
尝试在 TS 项目中使用纯 ESM 的文件类型模块,但我的笑话失败了。我已按照此处所示设置 ESM 选项,但仍然出现SyntaxError: Cannot use import statement outside a module错误。
我这里做了一个沙箱。
我的代码摘要:
import { fileTypeFromBuffer } from "file-type";
Run Code Online (Sandbox Code Playgroud)
笑话配置:
export default {
testEnvironment: "jest-environment-node",
globals: {
extensionsToTreatAsEsm: [".ts"],
"ts-jest": {
useESM: true,
},
},
transform: {
"^.+\\.(ts|tsx|js|jsx)?$": "ts-jest",
//"^.+\\.tsx?$": "ts-jest",
},
moduleNameMapper: {
"^(\\.{1,2}/.*)\\.js$": "$1",
},
preset: "ts-jest",
//preset: 'ts-jest/presets/default-esm' // or other ESM presets
};
Run Code Online (Sandbox Code Playgroud)
TS配置:
{
"extends": "@tsconfig/node14/tsconfig.json",
"compilerOptions": {
"target": "ES2018",
"module": "commonjs",
"lib": ["es2018"],
"declaration": true, …Run Code Online (Sandbox Code Playgroud) 尝试从 Mac 上的 Docker Desktop 切换到 colima,但在访问本地主机上的容器时遇到问题。
删除了 Docker Desktop 并安装了 colimna/docker w homebrew。科利马州起步良好。
我有一个用于运行 Dynamo 的命令:
docker run --name dynamodb -d -p 8000:8000 amazon/dynamodb-local"
Run Code Online (Sandbox Code Playgroud)
当我使用 Docker Desktop 时,我可以访问 localhost:8000 上的数据库。现在只能在 127.0.0.1:8000 上访问
我/etc/hosts正确映射了本地主机 - 这是交换机的问题。在网上没有找到太多关于此的信息 - 有什么想法吗?切换后,docker 似乎不再识别localhost为别名。127.0.0.1不使用 Kubernetes 或 docker compose。
javascript ×4
acl ×2
symfony ×2
typescript ×2
angularjs ×1
bluebird ×1
colima ×1
docker ×1
doctrine-orm ×1
es6-modules ×1
jestjs ×1
mocha.js ×1
mongodb ×1
mongoose ×1
node.js ×1
promise ×1
sencha-touch ×1
ts-jest ×1