Node js ormフレームワークは、findOneとfindAllの小さな経験を続編します



Node Js Orm Framework Sequelize Findone



Recently, I want to build a background with nodejs. The orm framework chose sequelize. I don't know anything else. If you know, you can recommend it to me. Enter the topic, see the document to create a new model User.js var Sequelize = require('sequelize')

var sequelize = require( './../ dataconfig')

////モデルを作成します
var User = sequelize.define( 'user'、{
id:{タイプ:Sequelize.INTEGER、 'primaryKey': 'true'}、
ユーザー名:{
type:Sequelize.STRING、//値のタイプを指定します
field: 'user_name' //テーブルに保存されているキー名を指定します
}、
//フィールドが指定されていません。テーブル内のキー名は、電子メールであるオブジェクトキー名と同じです。
Eメール: {
タイプ:Sequelize.STRING
}
}、{
// trueの場合、テーブル名とモデルは同じ、つまりユーザーです
// falseMySQL用に作成されたテーブル名は複数のユーザーになります
//指定されたテーブル名が複数形の場合、変更されません
FreezeTableName:true
})



exports.findAllUser = function(){
User.findAll()を返します
}

//test.js呼び出し



var user = require( './ model / user')

user.findAllUser()。then(result => {
console.log( 'ユーザーデータsss'、結果)
})

ノードtest.jsを実行します



node js orm sequelize findOne findAll

???それは私が思っていたものとは異なります、私はただjson配列が必要です。 defaultvaluesとは一体何ですか?

返される元のオブジェクトはjsonオブジェクトではなく、ラップされたインスタンスのレイヤーです

Instanceクラスはインスタンスを表し、データベースの行を表します。コンストラクターでインスタンス化することはできませんが、Model.find *やModel.createなどのメソッドで作成する必要があります。

インスタンスには、インスタンスが操作する実際の値を格納するdataValuesプロパティが含まれています。 dataValuesの値には、次の方法でアクセスできます。

instance.field
// に相当
instance.get( 'field')
// に相当
instance.getDataValue( 'field')
アクセサー(ゲッター)/セッター(セッター)が定義されている場合、dataValuesではなくフィールド値にアクセスします。通常、getに直接アクセスするか、getを使用して属性値にアクセスし、getDataValueはカスタムアクセサーにのみ使用されます。

または、{row:true}を追加します
node js orm sequelize findOne findAll

ノードtest.jsを再度実行します

node js orm sequelize findOne findAll

成功、Xiaobaiに手紙を書いてください、それをスキップしてください、私を冗談にしないでください、滑ってください。

転載:https://blog.51cto.com/13496570/2403426