使用nodejs:mongodb查找然后添加到数组
我用mongodb和nodejs制作了一个简单的数据库,其中有几个用户。接下来,im循环浏览列表,并使用sys.puts()以列表的名称等显示用户 否我正在将用户添加到数组()中,如下所示:使用nodejs:mongodb查找然后添加到数组,mongodb,node.js,Mongodb,Node.js,我用mongodb和nodejs制作了一个简单的数据库,其中有几个用户。接下来,im循环浏览列表,并使用sys.puts()以列表的名称等显示用户 否我正在将用户添加到数组()中,如下所示: db.open(function(err, db) { db.collection('users', function(err, collection) { collection.find({}, {'sort':[['name', 1]]}, function(err, curso
db.open(function(err, db) {
db.collection('users', function(err, collection) {
collection.find({}, {'sort':[['name', 1]]}, function(err, cursor) {
cursor.each(function(err, user) {
if(user != null) {
users[user._id] = { 'name':user.name, 'email': user.email };
sys.puts(">> Adding user to list... "+ user.name);
}
});
db.close();
});
});
});
这就是我将用户添加到阵列的方式吗?因为users.lenght=0。我现在有点不知所措了您正在对数组对象设置
属性
,这可能有点混乱
[]
既用于索引
又用于键
,这意味着在数组中,用户[0]
将返回数组中的第一个元素,但用户['blaid12']
将获取/设置数组对象上的属性blaid12',这与执行
users.blaid12`
因此,最终您的数组变得更像一个hashmap。length
属性不计算对象的属性,而是计算数组中的元素
您有几种解决问题的方法:
{}
并将用户ID用作该对象上的键,您必须通过另一个变量跟踪用户计数users.push({'name':…})
将数组作为数组使用,如果您也需要用户ID,则只需将其添加到推送到数组中的对象即可谢谢,我现在就试试这个!我也要做var users={},然后是users.push({'name':user.name…})?我得到错误:TypeError:objectsuccess没有方法“push”-1问题标题含糊不清,对其他用户没有帮助