我是 express+mongo+backbone 的新手。我正在通过骨干 collection.fetch() 从 mongodb 获取数据;作为回报,我正在获取数据,但正如您在下面看到的 .length 和模型数组显示为 0,这是错误的。因为如果我向下钻取,我可以看到我所有的文档/模型。我在这里做错了什么?下面是我在客户端的代码 - 主干
var API = {
getContactEntities: function () {
var contacts = new Entities.ContactCollection();
console.log("fetching data from database");
contacts.fetch();
console.log(contacts);
if (contacts.length === 0) {
// if we don't have any contacts yet, create some for convenience
//return initializeContacts();
}
return contacts;
}
};
下面是我在服务器上的代码 - express.js,它响应 url "/contacts" 上的获取
//app.get('/contacts', appointments.allContacts);
exports.allContacts = function (req, res) {
db1.db.users.find({}, function(err, appointments) {
if (err) { res.json(err); }
res.json(appointments);
});
};
-------------------------------------------------- ---------------------------------- 孩子{长度:0,模型:数组[0],_byId:对象,构造函数:函数,url:“联系人”…} _byId:对象 c5:孩子 c6:孩子 c7:孩子 c8: 孩子 __proto__: 对象 _events:对象 _listenerId:“l4” 长度:4 型号:数组[4] 0:孩子 _改变:假 _events:对象 _待定:假 _previousAttributes: 对象 属性:对象 _id:“52604e58d40340638c5e4b45” 地址:对象 名字:“艾伦” 上次登录: ”” 姓氏:“威尔金斯” 电话号码:“555-0184” 密码:“” 用户 ID:“1” 用户名:“chidu.murthy@gmail.com” 用户状态:“活动” 用户类型:“管理员” __proto__: 对象 改变:对象 cid:“c5” 收藏:孩子 __proto__: 代理 1:孩子 2:孩子 3:孩子 长度:4 __proto__: 数组[0] __proto__: 代理
你们中的任何人都可以解释什么是错的吗?
为了完全排除 MongoDB 的行为,我只是传递了一个 json 对象作为 resonse,但结果仍然是一样的!!!所以它必须是有快递或骨干的东西
res.json(
[
{ _id: 1, firstName: 'Alice_db', lastName: 'Arten',
phoneNumber: '555-0184' },
{ _id: 2, firstName: 'Bob_db', lastName: 'Brigham',
phoneNumber: '555-0163' },
{ _id: 3, firstName: 'Charlie_db', lastName: 'Campbell',
phoneNumber: '555-0129' }
]
)
提前谢谢了。
BR,赤丹