5

すべてのエントリを取得するために、mongodb シェルからデータベースにクエリを実行しようとしています。それでも、私の find() メソッドは何も返しません。

これは私が使用しているマングース モデルです。

var mongoose = require('mongoose'),
    Schema = mongoose.Schema;

var ArticleSchema = new Schema({
    title: String,
    content: String,
    author: { type: String, default: 'Vlad'},
    postDate: { type: Date, default: Date.now }
});

ArticleSchema.methods.formatTitle = function() {
    var link = this.title.replace(/\s/g, '-');
    return '/article/' + link;
};

ArticleSchema.methods.snapshot = function() {
    var snapshot = this.content.substring(0, 500);
    return snapshot;
};

module.exports = mongoose.model('Article', ArticleSchema);

Express.js アプリケーションをブラウザーにロードすると、API を使用して追加したすべての記事を問題なく表示できます。それでも、mongo シェルに入ってクエリを実行したいだけです。次のクエリを使用しました。

// blog is the database name (mongodb://localhost:27017/blog)
db.blog.find()

代わりに空の文字列が返されます。基本的には、コンソールに新しい行が表示されます。

4

3 に答える 3

8

あなたの答えは、質問の中にあります:

// blog is the database name (mongodb://localhost:27017/blog)
db.blog.find()

したがって、db すでに正しいデータベースを参照しています。の代わりにblog、データベース名ではなくコレクション名を入れます。

db.articles.find()
于 2013-09-20T09:45:53.727 に答える
1

最初にデータベースを選択してから、コレクションで見つけます。

use blog
db.articles.find()
于 2013-09-20T09:45:31.787 に答える