所以我正在使用mongodb,我不确定我是否已经为我正在尝试做的事情获得了正确/最佳的数据库集合设计.
可以有许多项目,用户可以创建包含这些项目的新组.任何用户都可以关注任何组!

我没有将关注者和项目添加到组集合中,因为组中可能有5个项目,或者可能有10000个(对于关注者来说相同),并且从研究中我认为您不应该使用未绑定的数组(其中由于尺寸扩大而必须移动文档时由于性能问题而导致限制未知.(在遇到性能问题之前,是否有建议的阵列长度最大值?)
我认为使用以下设计时,真正的性能问题可能是当我想要获取用户为特定项目关注的所有组(基于user_id和item_id)时,因为我必须找到所有组用户正在关注,并从中查找具有group_id $ in和项ID的所有item_group.(但我实际上看不到任何其他方式这样做)
Follower
.find({ user_id: "54c93d61596b62c316134d2e" })
.exec(function (err, following) {
if (err) {throw err;};
var groups = [];
for(var i = 0; i<following.length; i++) {
groups.push(following[i].group_id)
}
item_groups.find({
'group_id': { $in: groups },
'item_id': '54ca9a2a6508ff7c9ecd7810'
})
.exec(function (err, groups) {
if (err) {throw err;};
res.json(groups);
});
})
Run Code Online (Sandbox Code Playgroud)
是否有更好的DB模式来处理这种类型的设置?
更新:在下面的评论中添加了示例用例.
任何帮助/建议将非常感谢.
非常感谢,Mac
javascript database-design mongodb database-performance database-schema
希望是一个快速的问题,我怎样才能使这个形成良好,因此运行?
<input type="rad" name="RadGroup" value="<xsl:value-of select="productOptionInfo"/>" />
Run Code Online (Sandbox Code Playgroud)
我基本上想要在属性值中放置一个值,但它们都需要双引号!?
有任何想法吗?
非常感谢
所以我一直在寻找使用Microsofts cordova-plugin-ms-adal插件(使用本机库)针对使用Azure AD的自定义API 为Cordova移动应用程序设置OAuth 2.0 .这一切都运作良好,但我对秘密的使用(或更具体地说,它的缺席)有点困惑.
在网上的许多文章中,他们声明当使用授权代码授予和请求令牌时,您包括秘密.并且当您可以安全地存储例如服务器上的秘密时,此授权类型是理想的.
但是,该插件不要求在应用程序中指定秘密(并且正确地如此),但它仍然使用授权代码授权进行身份验证.我也可以手动打电话
https://login.windows.net/common/oauth2/authorize?resource=http://***.onmicrosoft.com/***API&client_id=***&response_type=code&redirect_uri=http://***.onmicrosoft.com/***App
Run Code Online (Sandbox Code Playgroud)
在我的浏览器中,登录,获取代码,然后POST到https://login.windows.net/common/oauth2/token with
grant_type: authorization_code
client_id: ***
code: ***
redirect_uri: http://***.onmicrosoft.com/***App
resource: http://***.onmicrosoft.com/***API
Run Code Online (Sandbox Code Playgroud)
它有效,所以我得到一个有效的JWT,而不必发送秘密.
为什么!?这不太安全吗?(我也注意到OAuth 2.0规范4.1.3没有说明授权类型授权代码需要秘密!?)
在没有秘密/基本身份验证标头的情况下使用授权类型的authorization_code会有什么影响?
所以我正在使用最新版本的传单(v1.0.2),并尝试将文本标签动态应用于自定义(地理对齐)地图上的特定lat lng点.
我的问题是我需要地图上的文字在缩放时保持它的大小(就好像文本实际上是拼贴图像的一部分).使用任何类型的标记都会使文本保持正确的大小.如果我使用类似图像叠加的内容并添加带有文本的SVG,它会随着地图缩放而缩放.
我注意到图像叠加在缩放时将其转换属性添加了CSS3缩放,而标记则没有.
我可以将标记扩展到图像叠加层吗?
我已经编写了监听缩放事件并调整标记字体大小的代码,但这是CPU密集型的(特别是对于移动浏览器),我真的不想在svgs中动态渲染文本!
我提供了一个演示,这样更有意义.您可以看到example_1(标记)保持其大小,无论您放大还是缩小.示例_2(svg图像)在缩放时相对于地图缩放.这个(例子2)正是我试图用一个带有html文本内容的L.DivIcon来做的!
任何帮助或建议表示赞赏!
https://jsfiddle.net/z96L7hdu/
示例代码
HTML
<div id="map" style="width:500px; height:600px;"></div>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
var map = L.map('map', {
zoomSnap: 0
}).setView([0, 0], 3);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
var img = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICAgICB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgNTAwIDQwIj4gIDx0ZXh0IHg9IjAiIHk9IjAiIGZvbnQtZmFtaWx5PSJWZXJkYW5hIiBmb250LXNpemU9IjM1Ij4gICAgRXhhbXBsZV8yICA8L3RleHQ+PC9zdmc+";
imageBounds = [[-8.636810901898114, -12.135975261193327], [-18.28136415046407, 17.181122017133486]];
L.imageOverlay(img, imageBounds).addTo(map);
var myIcon = L.divIcon({className: 'my-div-icon', html:"Example_1"});
L.marker({lat: 0.7800052024755708, lng: 0.010986328125}, {icon: myIcon}).addTo(map);
Run Code Online (Sandbox Code Playgroud) 所以我目前正在运行已安装ldapjs的node.js.我的目标是有使用ldapjs允许用户使用用户名和密码登录系统.
我已经阅读了http://ldapjs.org文档了一段时间,但我正在努力理解ldap和ldapjs实现它的整个想法.
我目前从文档中有这个
var ldap = require('ldapjs');
var server = ldap.createServer();
server.bind('cn=root', function(req, res, next) {
if (req.dn.toString() !== 'cn=root' || req.credentials !== 'secret')
return next(new ldap.InvalidCredentialsError());
res.end();
return next();
});
server.listen(1389, function() {
console.log('LDAP server up at: %s', server.url);
});
Run Code Online (Sandbox Code Playgroud)
这允许我运行以下并成功绑定到服务器.
ldapsearch -H ldap://localhost:1389 -x -D cn=root -w secret -LLL -b "o=myhost" objectclass=*
Run Code Online (Sandbox Code Playgroud)
但我真的不确定从这里去哪里,或者即使这是正确的做法......
理想的设置是拥有一系列用户和密码,并且在成功的ldap连接上确认详细信息是正确的并且回复为true,如果用户名/密码不正确则返回false.
有没有人知道有什么好的资源可以找到更多关于这一点,或者更好,但可以建议一些基本的客户端/服务器端代码,让我知道下一步该去哪里!
任何回复都会非常感激.
非常感谢
嘿,希望有人可以帮忙解决这个问题..
如何使用jQuery获取单击的div元素的先前ID?
这甚至可能吗?
例如,我有两个div命名为div1和div2,我点击div1然后在div2上,我如何获得div1的ID?
非常感谢