- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我做了下面的函数来从 ids 中获取用户名。它运作不佳。我可以写 console.log(result.first_name);在查询功能中,用户名显示在我的终端中,而不是浏览器中。我尝试添加“返回‘某物’;”在函数的末尾,查看它是否出现在浏览器中——它确实出现了。如何编写函数返回查询结果?
函数(app.js 中的全局函数)
function usernameFromId(id, callback){
db.users.findOne({ _id: ObjectId(id.toString()) }, function(err, result) {
var first_name = result.first_name;
console.log(first_name); // names show up in the console…
callback(first_name);
});
};
页面处理程序(在 app.js 中)
app.get('/books', function(req, res){
function timeSince(dato){
moment.lang('nb');
return moment(dato).fromNow();
};
db.books.find().sort({ added:-1 }, function(err, docs) {
var books = docs;
db.activity.find().limit(9).sort({ time:-1 }, function(err, docs) {
var activity = docs;
res.render('books', {
books: books,
activity: activity,
timeSince: timeSince,
usernameFromId: usernameFromId
})
});
});
});
模板(books.jade)
- each a in activity
p=usernameFromId(a.user_id, function(name){return name;})
最佳答案
否,因为 JavaScript 的异步特性。我在您的代码中添加了一些注释以指示实际执行顺序。这就是您收到错误的原因。
function usernameFromId(id){
var id = id.toString(); // 1
db.users.findOne({ _id: ObjectId(id) }, function(err, result) {
var first_name = result.first_name; // 3
});
return first_name; // 2
};
编辑:你可能想要像下面这样的东西
function usernameFromId(id, callback){
var id = id.toString();
db.users.findOne({ _id: ObjectId(id) }, function(err, result) {
var first_name = result.first_name;
callback(first_name);
});
};
关于node.js - 从函数返回mongojs查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10289656/
我无法找到任何有关如何执行此操作的文档或示例,但肯定这是可能的。基本上,我想保留 20 条最近的记录。我想按日期(降序)排序,跳过 20 个,然后删除剩余的内容。 最佳答案 您可以分两步完成 - 1,
我试图使用 findOne 方法。但没有显示任何东西,看起来没有执行。您愿意帮我解决这个问题吗? var mongojs = require('mongojs'); var databaseUrl =
我无法找到任何有关如何执行此操作的文档或示例,但肯定这是可能的。基本上,我想保留 20 条最近的记录。我想按日期(降序)排序,跳过 20 个,然后删除剩余的内容。 最佳答案 您可以分两步完成 - 1,
这是经典的 JavaScript 闭包与循环变量问题,但有一点不同。有一个 MongoDB 集合,其中包含存档的推文。我必须对其执行查找操作,搜索各种搜索词。这些单词以字符串形式存在于数组中,必须单独
我正在使用 mongojs 更新 mongodb 集合中的数据。该程序逐行读取文件,并为每一行在 mongodb 数据库中进行更新。更新工作正常,但控件未返回。 var fs = require('f
我想使用 Node js 在 mongodb 表中查找文档。我目前正在使用 mongojs 插件。 这是我遇到的问题: 我连接到数据库。 我获取当前时间戳 每隔 10 秒我想打印这 10 秒内添加的所
嗨,我是 MongoDB 和 NodeJs 的新手。我正在使用“mongojs”模块来简单地从 mongodb 读取数据。代码如下: var dbname = 'XXXX'; var database
我有一个 Node.js 应用程序,它获取大量具有唯一 ID 的 JSON 数据,然后使用 Mongojs 将它们插入到 MongoDB 中。 问题是,在这么大的数据数组中,可能存在一些重复的文档!所
我正在尝试在 mongojs 中存储和检索日期。这是它的保存方式: var game = { startedOn: new Date() }; db.games.save(game); 当我获取它时,
我正在通过 MongoJS 驱动程序使用 Node.js 和 MongoDB 构建一个简单的应用程序。我的目标是一些重负载(10 分钟内约 10000 个用户, session 大约 30 秒) 我正
我正在为 session 身份验证实现一个 restify 中间件。该函数包含嵌套的异步数据库调用:db.sessions.findOne() 回调中的 db.sessions.remove()。 '
我有以下代码: db.users.save({ username: "admin", array: [{ foo1: "foo1", f
我需要使用 limit 和 skip 从 mongo 获取一些记录。 我正在将 MongoJS 与 NodeJS 结合使用,但下面给出的方法不起作用。 下面是一个例子: db.users.find(f
考虑以下nodejs代码: db = require('mongojs')('database', ['users, sessions']); db.users.insert( { 'email'
我想使用 mongojs 设置整个集合的写入关注点图书馆。 这就是我认为代码可能的样子 var mongojs = require('mongojs'); var db = mongojs('test
我正在尝试学习node、mongodb和mongojs,并且有一个新手问题。 我的路线是这样的...... server.get({path: PATH + '/:author', version:
我正在运行node.js和mongoDB,并以mongojs作为驱动程序。我有以下问题, 我尝试使用 _id 数组查询业务集合,如果我尝试如下动态构建查询,我会得到长度为 0 的数组,这是错误的。
我有 MongoJS 查询调用: db.users.find({username:"eleeist"},function(err, docs) { console.log(docs); });
Node.js,mongojs ,mongodb。我正在使用正则表达式搜索技能列表。这是我的服务器代码: var nconf = require('nconf'); var db = require(
Mongojs 是 mongodb-native 库的瘦包装器,但唯一的问题是我无法监听错误? 需要处理的主要错误是连接错误、无法连接或丢失连接。这是我到目前为止尝试过的示例。 var mongojs
我是一名优秀的程序员,十分优秀!