Преобразовать [объект Object] из в значение - PullRequest
0 голосов
/ 28 февраля 2012

Используя приведенный ниже код, я хочу найти значение в поле seq для строки, в которой _id = user:

DbModels.prototype.autoIncrement = function(_collection, callback){
  this.getCollection(_collection, function(error, seq_collection) {
  if( error ) callback(error)
      else {
        console.log(seq_collection);
        seq_collection.find({_id: 'Users'}, {'seq': 1}, function(error, result) {
                if( error ) callback(error)
                else {callback(null, result)}
              });
    }
  });
}

DbModels.prototype.addUser = function(Users, callback) { 

  this.autoIncrement("seq", function(error, result){
    if(error) callback(error);
                else console.log("RESULT: "+result);ID=result;
  });

Код работает правильно, однако в результате получается "RESULT: [object Object] "и я понятия не имею, как я могу преобразовать [объект Object] в значение в nodejs.

Когда я запускаю запрос в оболочке mongo, выдается следующее: {"_id": "Users", "seq": 51}

У кого-нибудь есть предложения?

Ответы [ 3 ]

2 голосов
/ 28 февраля 2012

Это значение (в частности, ссылка на объект).Это выглядит только при вызове toString (неявно из-за конкатенации).Возможно, вы захотите взглянуть на документы и посмотреть, какие релевантные поля и методы используются для result.

Начиная с этих документов , похоже, вы захотите немного обработать результатиначе:

seq_collection.find({_id: 'Users'}, {'seq': 1}).toArray(function(err, results){
    console.log(results); // output all records
});
1 голос
/ 25 апреля 2013

Я думаю, это ответ: Как регистрировать содержимое объекта JSON в Node.js?

Самый простой способ:

this.autoIncrement("seq", function(error, result){
    if(error) callback(error);
              else console.log("RESULT: %j",result);ID=JSON.stringify(result);
});
1 голос
/ 28 февраля 2012

Попробуйте:

console.log("RESULT: "+JSON.stringify(result));

Должно быть напечатано содержимое результата.

При ответе на комментарий (отсутствует форматирование в комментарии):

Попробуйте это вконсоль узла:

> o = {a:13}
{ a: 13 }
> o['c'] = o
{ a: 13, c: [Circular] }
> JSON.stringify(o)
TypeError: Converting circular structure to JSON
    at Object.stringify (native)
    at repl:1:7
    at REPLServer.eval (repl.js:80:21)
    at Interface.<anonymous> (repl.js:182:12)
    at Interface.emit (events.js:67:17)
    at Interface._onLine (readline.js:162:10)
    at Interface._line (readline.js:426:8)
    at Interface._ttyWrite (readline.js:603:14)
    at ReadStream.<anonymous> (readline.js:82:12)
    at ReadStream.emit (events.js:88:20)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...