よろしくお願いします!
新しいプロジェクトでNode.js、MongoDB、Mongooseを使用してfind()
おり、データベース内のドキュメントを試しているだけです。簡潔にするために、以下にマングースのコードを含めます(とにかく今はこれ以上のことはしていません):
var mongoose = require('mongoose');
mongoose.connect('mongodb://<username>:<password>@<sub-domain>.mongolab.com:<port>/<db>');
var schema = { email_address: String, invite: String }
, Users = mongoose.model('Users', new mongoose.Schema(schema));
console.log(Users.findOne({ 'email_address': 'jonathon@foo.bar' }, function(err, doc) { return doc; }));
Node.jsコンソール(ターミナル)に返されたものをエコーするだけでよいと確信してdoc
いますが、代わりに次のようになります。
{ options: { populate: {} },
safe: undefined,
_conditions: { email_address: 'jonathon@foo.bar' },
_updateArg: {},
_fields: undefined,
op: 'findOne',
model:
{ [Function: model]
modelName: 'Users',
model: [Function: model],
options: undefined,
db:
{ base: [Object],
collections: [Object],
models: {},
replica: false,
hosts: null,
host: '<sub-domain>.mongolab.com',
port: <port>,
user: '<username>',
pass: '<password>',
name: '<db>',
options: [Object],
_readyState: 2,
_closeCalled: false,
_hasOpened: false,
db: [Object] },
schema:
{ paths: [Object],
subpaths: {},
virtuals: [Object],
nested: {},
inherits: {},
callQueue: [],
_indexes: [],
methods: {},
statics: {},
tree: [Object],
_requiredpaths: undefined,
options: [Object] },
collection:
{ collection: null,
name: 'users',
conn: [Object],
buffer: true,
queue: [Object],
opts: {} },
base:
{ connections: [Object],
plugins: [],
models: [Object],
modelSchemas: [Object],
options: {},
Collection: [Function: NativeCollection],
Connection: [Function: NativeConnection],
version: '3.5.4',
Mongoose: [Function: Mongoose],
Schema: [Object],
SchemaType: [Object],
SchemaTypes: [Object],
VirtualType: [Function: VirtualType],
Types: [Object],
Query: [Object],
Promise: [Function: Promise],
Model: [Object],
Document: [Object],
Error: [Object],
mongo: [Object] } } }
明らかに、私は実際のクレデンシャルを<username>
ビットで難読化したばかりです。これらはすべて私のコードで正しいものです。
findOne
データベースには、条件に一致するドキュメントが含まれていますが、メソッドから条件を削除しても結果は得られません。
私はNode.jsにかなり慣れていないので、あなたの答えを説明できるので、次回はそれが大きな助けになることを知っています!ありがとう!