0

次のように、Twitter の oauth サービスからユーザーの ID とスクリーン名を正常に取得できました。

{ user_id: '12345678', screen_name: 'spencergardner' }

私は、ユーザーが Twitter (そしてまもなく Facebook も) を使用して認証するための簡単な方法を作成して、学習したい単語を自分のアカウントに追加できるようにしたいと考えています。各ユーザーが独自の単語 (およびその他のデータ) のバンクを持つことを許可する mongodb コレクションで「ユーザー」を設定するにはどうすればよいですか?

4

2 に答える 2

0

私があなたを正しく理解しているなら、あなたはどのように異なる構造のデータをmongoコレクションに保存することができるかを尋ねています。

さて、あなたは幸運です!モンゴはまさにそれをします。構造を事前に「宣言」することなく、mongoコレクションにさまざまなデータ構造を格納できます。DBObjectを作成し(たとえば、Javaドライバーを使用している場合)、それにフィールドを追加して、保存するだけです。次に、それを取得し、データをクエリして、この特定のユーザーが何を持っているか、およびアプリケーションに必要なものをすべて確認できます。

于 2012-11-26T01:57:28.133 に答える
0

nodejs で mongoose を使用して、oauth データを入力するユーザー モデルを作成すると、必要なデータを自由に関連付けることができます。

Oauth 情報を取得したら、Twitter データをその特定のユーザー モデルに関連付ける新しいユーザーを作成できます。_id は自動的に提供されますが、この場合、twitter から返された user_id を使用します (一意であると仮定します)。

スキーマの例を次に示します。

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

var userSchema = new Schema({

_id: String,
screen_name: String,
words: Array
});

module.exports = mongoose.model('User', userSchema);

将来的には、特定のユーザーについてデータベースにクエリを実行し、ユーザーが戻ってきたときにそのユーザーを認証できるようになります。次のような新しいユーザーを作成することもできます。

new User({    _id: req.body.user_id,
              password: req.body.screen_name,
              words: []
    }).save(function(err) {
          if (!err) {
            res.send("User added");
            }
        })
于 2012-11-26T14:36:46.777 に答える