我是 Falcor 数据获取框架的新手。当我请求类似的东西时,我尝试了几个例子
model.get(["contacts", {0..2}, "name"])
.then(response => {
this.state.list = response.json.contacts;
this.setState(this.state);
});
在服务器端
let data = {
contacts: [
{name: "ABC"},
{name: "XYZ"},
{name: "PQR"}
]
};
let contactsRouter = Router.createClass([
{
route: 'contacts[{integers:contactIndexes}]',
get: (pathSet) => {
let results = [];
pathSet.contactIndexes.forEach(contactIndex => {
if (data.contacts.length > contactIndex) {
results.push({
path: ["contacts", contactIndex, "name"],
value: data.contacts[contactIndex].name
});
}
});
return results;
}
},
{
route: 'contacts.add',
call: (callPath, args) => {
var newContact = args[0];
data.contacts.push({name: newContact})
return [
{
path: ['contacts', data.contacts.length-1, 'name'],
value: newContact
},
{
path: ['contacts', 'length'],
value: data.contacts.length
}
]
}
}
]);
我正在获取数据并且也能够执行其他操作。 我的问题是我想对 MongoDB 进行相同的 CRUD 操作,而不是从
数据.联系人
我如何构造 JSON Graph 对象数据应该来自数据库架构。希望我的问题得到解决。
最佳答案
最简单的方法是在路由的 get
函数中简单地进行数据库查询:
{
route: 'contacts[{integers:contactIndexes}]',
get: (pathSet) => {
const data = db.get('myModel', (err, res) => {
return res
})
let results = [];
pathSet.contactIndexes.forEach(contactIndex => {
if (data.contacts.length > contactIndex) {
results.push({
path: ["contacts", contactIndex, "name"],
value: data.contacts[contactIndex].name
});
}
});
return results;
}
}
做了一个简单的repo使用 Falcor 和 CouchDB。了解应该如何在 MongoDB 中完成就足够了。
关于mongodb - 在 Falcor 中如何使用数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33804342/