CouchDB文件:
"members": [
{
"name": "Mark",
"age": 35,
},
{
"name": "Bill",
"age": 32,
}
]
Run Code Online (Sandbox Code Playgroud)
使用PouchDB-Find从PouchDB进行数据库查询:
db.createIndex({
index: {fields: [
'_id',
'members.[].name'
]}
}).then(() => {
db.find({
'selector': {
'_id': { '$gt': null },
'members': {
'$elemMatch': {
'name': {'$eq': 'Bill'}
}
}
},
'fields': [
'members'
]
}).then((result) => {
console.log(result)
}).catch((err) => {
console.log(err)
})
})
Run Code Online (Sandbox Code Playgroud)
我从上面的查询得到的结果是整个Members数组.但是当我要求"名称"作为"比尔"而不是完整的数组时,我只需要得到以下内容.
{
"name": "Bill",
"age": 32,
}
Run Code Online (Sandbox Code Playgroud)
我确实尝试了查询中的字段部分,但我无法找到应该提到的内容以获得我想要的内容.
我正在使用英特尔XDK(App Framework)开发群聊应用程序.我看到很多关于在Web上创建聊天应用程序的例子,但是从来没有使用过Sails的REST API作为后端服务,可以在HTML5应用程序中使用.
如果您对此有任何见解,请告诉我.
后端:Sails.js
我已经为REST API实现了JSON Web Token,其中从前端到各种控制器的操作的所有AJAX请求res.json(data);只有在通过Authorization Header接收到正确的JWT时才返回数据.它按预期工作.
现在,我已经使用EJS创建了一个视图<%= name =>,现在控制器具有详细信息res.view('/home', {name: "Bill"} );并将路由配置为指向相应的控制器.
如何通过从具有该属性的服务器端视图使用已发布的JWT(存储在localStorage中)进行身份验证来从控制器检索"名称" <%= name =>
谢谢.
码:
意见/ index.ejs
<%= name =>
Run Code Online (Sandbox Code Playgroud)
API /控制器/ UsersController.js
info: function(req, res) {
var userId = req.token;
Users.findOne(userId).exec(function(err, profile) {
if(err) {
res.json(err);
} else {
res.view('index',{
name: profile.name,
});
}
});
},
Run Code Online (Sandbox Code Playgroud)
API /政策/ tokenAuth.js
module.exports = function(req, res, next) {
var token;
if (req.headers && req.headers.authorization) {
var parts = req.headers.authorization.split(' ');
if (parts.length == …Run Code Online (Sandbox Code Playgroud)