0
Array以外の_id
タイプを使用することができます。 (しかし、見つけることができません。あなたはこれを確認してもらえますか?)Mongod:customer _id(monk/node.js)のエントリを挿入する
性能上の理由から、ユーザ名(文字列)を_id
にします。 Node.jsので
:
const monk = require('monk');
const db = monk('localhost:27017/test',
function(err) {
if(err)
console.log(err.toString());
});
//const doc = {user: 'aa', password: 'password'};
//const doc = {_id: 'aa', password: 'password'};
const doc = {_id: monk.id('aa'), password: 'password'};
var users = db.get('users');
users.insert([doc]);
最初のコメント行は動作しますが、他の行の両方のエラーアウト:
_id: monk.id('aa')
エラー出てすぐ_id: 'aa'
エラーアウトusers.insert()
を行うため、私はそれが文字列をIDにキャストしようとしていると思う。
エラーに関係なく同じです。
Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters
はどのよう_id
のために与えられた文字列を使用できますか?
ps:このコードを実行するには、mongo running、mongod --dbpath data
、nodejs:npm install monk; nodejs
が必要です。
問題は、私は同じエラーを取得するということです挿入を行うときに。更新された投稿を参照してください。 –
@RicardoCruzオートキャスティングを無効にすることについての私の編集を参照してください。 – robertklep
ありがとう、私はあなたの答えを選択しました。あなたは '_id'として自分のユーザ名を保存することに利点があると思いますか?私はこれをやっています。なぜなら、私が見つけるのが早いと思ったからです。しかし、私はサーバーKISSを維持したい。 'username: 'aa''を使って' _id'を選択させるべきだと思いますか? –